본문 바로가기
728x90

s37

[Python] Boto3 + Airflow로 특정 기간 지난 S3 데이터 삭제하기 업무를 하면서 개인정보 데이터에 대해서 6개월이 지나면 자동으로 파기가 되는 로직을 구현해야되는 일이 있었습니다. 따라서 하루단위 배치로 6개월이 지났는지 검사하고, 지났으면 데이터를 삭제하는 로직을 구현한 것에 대해 정리해보겠습니다. 요구사항, 상세정보 및 코드 사용 라이브러리 : boto3 배치 스케줄링 주기: 매일 00:05 요구사항: 6개월이 지난 개인정보 포함된 데이터는 파기가 되어야 함 해결 방법: s3 uri경로가 s3:bucket/~~/history 혹은 latest로 되어 있고 이후에 stnd_ymd=yyyy-mm-dd 파티션으로 구별 됨 → stnd_ymd 기준 6개월이 지나면 매일매일 검사하여 삭제하는 로직 구현 코드 from airflow import DAG import boto3 .. 2023. 11. 20.
[AWS] Boto3 사용하기 1. S3 다루기 1. 사전 준비 Client low-level 인터페이스 service description에 의해 만들어짐 botocore 수준의 client를 공개(botocore는 AWS CLI와 boto3의 기초가 되는 라이브러리) AWS API와 1:1 매핑됨 메소드가 스네이크 케이스로 정의되어 있음 Resource high-level, 객체지향적 인터페이스 resource description에 의해 만들어짐 식별자(identifier)와 속성(attribute)을 사용 자원에 대한 조작 위주 2. 버킷 생성 import logging import boto3 from botocore.exceptions import ClientError class AWSBoto3(): def __init__(self): sel.. 2023. 4. 12.
[AWS] s3 vs s3a vs s3n 차이 정리 s3 vs s3a vs s3n s3 s3a s3n 공통점 ○ 하둡의 저장소가 hdfs가 아닌, AWS s3일 때 클라이언트를 제공하는 파일시스템 종류(s3에 읽기,쓰기를 가능하게 해주는 어댑터) ○ AWS s3에 저장하게 해주는 하둡의 각각 다른 파일시스템 URI s3:// s3a:// s3n:// 파일 크기 제한 5GB보다 클 수 있지만 다른 S3 도구와 상호 운용할 수 없음 큰 파일(5GB 제한 없음), 고성능 작업 등을 지원 가능 단일 파일 크기에 대한 5GB 제한있음 특징 ○ S3가 지원하는 하둡 호환 블록 기반 파일 시스템 ○ 파일이 포함된 기존 버킷을 사용하거나 다른 파일을 동일한 버킷에 쓰지 않아야 함 ○ HDFS에 있는 것처럼 블록으로 저장 ○ 파일 시스템 전용 버킷이 필요 ○ 읽기 성능은.. 2023. 2. 23.
[AWS] IAM vs Lakeformation 권한 관리 차이 정리 1. 프로젝트를 하면서 생긴 이슈 + 해결 IAM user에 아래와 같이 athena 및 glue 권한을 다 받았는데 database 및 table list 조회 불가 1) 기존에 받은 IAM 권한 [권한 및 정책] lakeformation:GetDataAccess lakeformation:GetMetadataAccess athena:* "glue:CreateDatabase", "glue:UpdateDatabase", "glue:DeleteDatabase", "glue:GetDatabase", "glue:GetDatabases", "glue:CreateTable", "glue:UpdateTable", "glue:DeleteTable", "glue:GetTable", "glue:GetTables", "gl.. 2023. 1. 31.
[AWS] Athena 테이블 생성, 데이터 붓기 (CREATE Table, CTAS, INSERT INTO SELECT) 이번 포스트에는 Athena를 통해 Glue Catalog에 데이터베이스와 테이블을 생성하는 방법을 포스팅 하겠습니다. *IAM에서 S3, Athena, Glue에 대한 FullAccess 정책을 부여 받았다고 가정하고 실행 1. 일반적인 EXTERNAL TABLE 생성 1) 결과 파일 s3경로 지정 settings의 manage 클릭 manage settings의 browse s3로 결과가 담길 S3 URI를 지정 2) database 생성 문법 CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name [COMMENT 'database_comment'] [LOCATION 'S3_loc'] [WITH DBPROPERTIES ('property_name' = 'pr.. 2023. 1. 20.
[Storage] File storage vs Block storage vs Object storage 파일 스토리지(File storage) 데이터를 폴더의 파일 계층 구조로 구성하고 표현 파일 스토리지는 파일 수준 또는 파일 기반 스토리지라고도 하며, 일반적으로 흔히 알고 있는 스토리지 서류철에 서류를 정리하듯, 데이터가 폴더 안에 단일 정보로 저장 해당 데이터에 액세스해야 하는 경우, 컴퓨터는 그 데이터를 찾기 위해 경로를 알아야함 파일에 저장된 데이터는 제한된 양의 메타데이터(해당 파일 자체가 보관된 정확한 위치를 알려주는 데이터)를 사용해 구성 및 검색 모든 문서가 논리적 계층 구조로 정리, 계층 구조 스토리지 이는 직접 연결 및 네트워크 연결 스토리지 시스템에 대해 가장 오래되고 널리 사용되는 데이터 스토리지 시스템 PC로 파일에 저장된 문서에 액세스 할 때마다 파일 스토리지를 사용 파일 스토리.. 2021. 12. 14.
[Data] 데이터 레이크(data lake)란? 데이터 레이크란? 데이터를 있는 그대로 축적해서 모아두는 곳 데이터를 원래의 형태(미가공의 원시데이터)로 축적해두고 나중에 그것을 필요에 따라 가공하는 구조 데이터를 축적하는 호수에 비유 CSV나 JSON 등의 범용적인 반구조화 텍스트형식이 대부분 사용된다. 구조화된 데이터, 반구조화 된 데이터, 비구조화 데이터가 적재된다. 데이터 웨어하우스를 대체하는 개념 하둡의 HDFS, AWS S3처럼 객체 저장소가 데이터 레이크의 역할을 수행 할 수 있다. *구조화 데이터: 스키마가 명확하게 정의된 데이터 ex) 테이블,csv(반구조화가 될수도 있음),스프레드시트(반구조화가 될수도 있음) *반구조화 데이터: 스키마리스 데이터 라고도 불리며, 데이터 서식은 정해져 있지만, 칼럼 수나 데이터형은 명확하지 않은 데이터.. 2021. 8. 6.
728x90