Book(11)
-
Airflow XCom
XCOM Xcom은 DAG 내의 task 사이에서 데이터를 전달하기 위해서 사용되는데, Xcom은 DAG내에서만 공유할 수 있는 변수라는 점이다. Xcom을 이용해 데이터를 전달하는 경우 DataFrame이나 많은 양의 데이터를 전달하는 것은 지원하지 않으며, 소량의 데이터만 전달하는 것을 권장한다. ti = task_instance 로 축약 가능 XCOM 사용 방법 PythonOperator return 값을 이용한 Xcom 사용 push-pull을 이용한 Xcom 사용 Jinja templates을 이용한 Xcom 사용 def _player_data_write(**context): headers = {'Authorization' : '='} player_url = "" data = requests.g..
2022.11.30 -
Airflow 의존성
Airflow 태스크 의존성 기본적인 태스크 download_launches >> get_pictures >> notify 병렬 태스크 [start, download_launches] >> get_pictures >> notify
2022.11.30 -
Airflow 기본적인 Operator
BashOperator Bash shell 스크립트를 실행하는 오퍼레이터. 리눅스 명령어, 프로그램 실행이 가능함 # 예시 import airflow from airflow import DAG from airflow.operators.bash import BashOperator dag = DAG( dag_id="listing_4_01", start_date=airflow.utils.dates.days_ago(3), schedule_interval="@hourly", ) get_data = BashOperator( task_id="get_data", # bash 명령어 입력 bash_command=( "curl -o /tmp/wikipageviews.gz " "https://dumps.wikimedia.o..
2022.11.14 -
Airflow 스케줄링
DAG 스케줄링 cron Crontab.guru - The cron schedule expression editor crontab.guru dag = DAG( dag_id = "FIFA_Online4", description = "FIFA Online 4 Match Detail Analysis", start_date = datetime(2022,11,12, tzinfo = kst), end_date = datetime(2022,11,30, tzinfo = kst), dagrun_timeout=timedelta(minutes=300), schedule_interval = '0 2,7,14,20 * * *' ) 백필 ( Backfill ) 파라미터에 포함된 일시를 순서대로 바꿔가면서 일정 기간의 플로우를 연..
2022.11.14 -
MapReduce
MapReduce 란? - 2004년에 구글에서 발표한 데이터 처리 알고리즘 - Hadoop의 MapReduce는 구글에서 발표한 MapReduce 논문을 자바로 구현한 애플리케이션 MapReduce 처리과정 ▶ InputFormat ▶ SequenceFile - Hadoop에서 제공하는 Binary 파일 포맷 - Key - Value pair로 구성 - Binary로 저장되어 있어서 속도가 빠름 - 압축에 따른 포맷 Uncompressed Record - Compressed : 값만 압축 Block - Compressed : 키와 값 모두 블록에 압축 - 용도 작은 압축 파일들을 모아 SeqeunceFile로 묶어서 사용 압축을 통해 Shuffling의 트래픽 양을 줄이는데 사용 ▶ InputSplit..
2022.10.05 -
YARN ( Yet Another Resource Negotiation )
MapReduce 1 - 문제점 확장성 병목 신뢰성과 가용성 문제 맵리듀스 프로그램 모델만 지원 클러스터 이용률 문제 YARN ( Yet Another Resource Negotiation ) 의 등장 = MapReduce 2 - 특징 JobTracker의 두 가지 중요한 부분의 책임 분리 Resource Manager Application Master 확장성 개선 다양한 워크로드 지원 클러스터 이용률 개선 기존 맵리듀스 호환성 지원 YARN Architecture MapReduce 1 VS YARN YARN 컴포넌트 - Resource Manager 클러스터 리소스를 중재하는 마스터 주요 컴포넌트 Scheduler FIFO ( 선입선출 ) Capacity Scheduler Fair Scheduler A..
2022.10.04