저의 업무 환경은 Python입니다. Airflow와 AWS 서비스(lambda, batch, glue..) 전부 파이썬만을 사용하고 있습니다.
[spark] spark sql
처음에 spark sql을 보고 스파크에서도 sql을 사용할 수 있구나! 정도로 생각했지만 spark sql은 이보다 좀 더 큰 범위의 기능을 제공합니다. spark sql은 단순히 sql을 사용하는 것은 물론, sql과 비슷한 개념으로 dataframe / dataset에서 데이터를 처리할 수 있도록 여러 메서드도 제공합니다.
[spark] Docker Ubuntu 컨테이너로 Spark 실습환경 만들기 3. spark application 실행
worker와 master도 연결했으니 스파크 어플리케이션을 실행해보겠습니다.
[spark] Docker Ubuntu 컨테이너로 Spark 실습환경 만들기 2. master - worker 환경 구성
worker 컨테이너를 띄우고 master 컨테이너와 연결해보겠습니다.
[spark] Docker Ubuntu 컨테이너로 Spark 실습환경 만들기 1. 컨테이너 준비
최근 스파크를 공부하고 있습니다. 실무에서 aws glue를 사용하면서 직접 스파크 코드를 작성하기도 하지만, 단순히 문법이나 메서드보다는 spark의 클러스터 환경을 직접 구축해보고 경험해보는 게 더 값지고 재밌을거라 생각했습니다.
[airflow] Airflow - PythonOperator에서 execution_date 사용하기
airflow에서 DAG instance는 execution_date를 기준으로 생성됩니다. 주기적으로 발생하는 ETL 스케줄을 편리하게 task / dag 단위로 관리할 수 있다는게 airflow의 큰 장점입니다.
[AWS] glue에서 내 프로젝트 import하기
glue job을 사용하다보니 불편함을 느낀 점은 2가지입니다.
[Spark] reduce / fold
Reduce
[airflow] airflow - depends_on_past / wait_for_downstream
airflow task 설정을 하다가, 이전 task에 의존적으로 실행 계획을 만들 수 있는 옵션 2개를 찾았습니다. 이전 task에 상관없이 실행 가능한 모든 task를 실행시키는 경우에는 이 옵션들이 의미가 없겠지만, task의 성공여부에 따라 ETL 계획에서 조건을 주고 싶은 경우에는 이 두가지 옵션이 도움이 될 것입니다.
[airflow] airflow 사용기 2. docker/airflow 설정 파일
docker / airflow의 설정 파일을 크게 3가지로 나눴습니다.