'데이터 엔지니어'로 성장하기

정리하는 걸 좋아하고, 남이 읽으면 더 좋아함

S3 4

Airflow) custom operator 만들기_s3 Prefix copy

+ 요즘 docker Image에 다 몰려있는 로직을 task로 쪼개는 작업을 진행하고 있어요. 처음부터 airflow를 공부하고 적용했어야했는데, 과거의 내가 원망스럽네요. 요약 hook/operator 공부한김에 자주 사용할만한 기능을 operator로 하나 만들었어요 from custom.s3.operators.S3CopyFolderObjectOperator import S3CopyFolderObjectOperator with DAG( 'hook-S3CopyFolderObjectOperator', ) as dag: S3CopyFolderObjectOperator( task_id="check_ready", aws_conn_id="CephObjectConn", source_bucket_name="hgk..

Data/Airflow 2022.06.12

Airflow) S3CopyObjectOperator 이용해서 copy 하기

s3 부분에서 에러가 간혹 발생되서, 핵심 로직과 분리하기로 결정 근데 이거는 파일 하나만 가능함. 폴더는 어떡하지 요약 상황 결과 참고 설명 상황 as-is python 코드로 모든 로직을 처리 단점 코드가 복잡해지고 관리가 되지 않음 image안에 코드가 들어가면 어디서 에러가 나는지 알 수 없음 갑자기 모든 것을 바꿀 수 없겠지만, 하나씩 바꿔가기로 함 to-be s3 copy,delete를 aws.operators를 이용하기로함 이유 핵심 로직과 사이드카 같은 로직 분리(복사/이동/삭제) s3 operator는 많이 사용하기 때문에 버그가 적을거라고 생각 결과 from datetime import datetime from airflow.models import DAG from airflow.ope..

Data/Airflow 2022.06.02

Ceph) readonly 계정 만들기_radosgw,subuser,s3 policy

분석계에서 데이터 당겨서 갈때, readonly로 주고 싶었음 secondary 만들어서 주는게 정석이지만, 과한 것 같아 radosgw + subuser + s3 policy로 구현함 요약 1. 상황 - readonly 계정이 필요함 - multi-site로 설정하기에는 너무 과함 2. 적용 - radosgw + subuser + s3 policy로 구현함 설명 1. 상황 - readonly 계정이 필요함 - multi-site로 설정하기에는 너무 과함 If the secondary zone needs to be a read-only configuration, update the secondary zone. # radosgw-admin zone modify --rgw-zone={zone-name} --..

Storage/Ceph 2022.04.25

Airflow) log를 minio에 저장_connection,yaml

하고 나면 너무 간단한데생각보다 인터넷에 관련된 정보가 명확히 나와잇지 않음 똑같은데 그럼 endpoint는 어디다가 입력하는데ㅜㅜ 성공하고 나서 문서를 보면 당연하지만, 작업 중에는 너무나 막막했던 내용 설정 방법 1. minio 실제 url에서는 이런식으로 http://1**.**.**.**:9000/object-browser/airflow-logs bucket 만들기 airflow-logs http://1**.**.**.**:9000 참고 pyspark 테스트하던 코드는 여기 https://mightytedkim.tistory.com/28 from pyspark import SparkContext from pyspark.sql import SparkSession from time import sle..

Data/Airflow 2021.11.12