Pull 3

[Airflow] Python & Bash 오퍼레이터 with Xcom

python 오퍼레이타에서 xcom을 사용하는 방법과 bash 오퍼레이터에서 xcom을 사용하는 방법을 배웠으니, 이제는 두 오퍼레이터를 혼합해서 Xcom 데이터를 구하는 방법을 알아보겠습니다. 1. Python → Bash 오퍼레이터 Xcom 전달 코드를 먼저 살펴보겠습니다. @task(task_id='python_push') def python_push_xcom(): result_dict = {'status':'MyLove','data':['Allu','Arsenal','Myself'],'options_cnt':100} return result_dict bash_pull = BashOperator( task_id = 'bash_pull', env = { 'STATUS':'{{ti.xcom_pull(t..

[Airflow] Python Operator에서 Xcom 사용

1. Xcom이란 무엇일까요? (=Cross Communication) Airflow DAG 안 Task 간 데이터 공유를 위해 사용되는 기술입니다. (ex) Task1의 수행 중 내용이나 결과를 Task2에서 사용 또는 입력으로 주고 싶은 경우가 있을 수 있겠죠? 주로 작은 규모의 데이터 공유를 위해 사용합니다. (Xcom 내용은 메타 DB의 xcom 테이블에 값이 저장됩니다.) 1GB 이상의 대용량 데이터 공유를 위해서는 외부 솔루션 연동이 필요합니다. (AWS S3, HDFS 등) 2. Python 오퍼레이터에서 Xcom 사용하기 크게 두 가지 방법으로 Xcom 사용이 가능한데요, 한 번 살펴보시죠. 1) **kwargs 에 존재하는 ti (task_instance) 객체 활용 예시 코드를 먼저 보..

[Github/깃허브] Git 협업 플로우를 살펴보자!

깃헙에서 협업을 할 때의 과정을 간략하게 그림으로 표현해봤다. 순서에 따라서 한번 깃 협업 과정을 살펴보자! 1. 깃허브 원격 저장소에서 내용을 로컬 저장소로 가져온다 로컬 저장소가 없을 때(최초에는) : git clone ~ 로컬 저장소가 이미 있을 때 : git pull origin main ⬇️ 2. 로컬 저장소에서 작업할 브랜치를 생성 후 해당 브랜치로 이동한다 git branch 브랜치이름 git checkout 브랜치이름 or 커밋 ( VScode의 Extension중에서 해당 Extension을 다운받으면 브랜치가 이슈별로 자동 생성된다) ⬇️ 3. 브랜치 안에서 원하는 작업을 수행한다 ⬇️ 4. 브랜치에서 수행한 작업을 git에 올린다 (작업 중인 브랜치 안에서 명령어 실행) git add..

반응형