본문 바로가기

Data Engineering

(12)
[Spark] Apache Spark의 Execution Plan에 대해 알아보자 🙋‍♂️ Apache Spark 빅데이터 처리를 위한 통합 컴퓨팅 엔진이다. 하드 디스크가 아닌 RAM에 데이터를 보관하고 병렬로 처리하는 인메모리 기반 연산이 가능하다. 다양한 언어(파이썬, 자바, 스칼라,R, SQL)를 지원한다. 자세한 내용은 이 글에서 확인 💡 Spark의 실행 계획이란? Spark에서 SQL 쿼리, 데이터 프레임, 데이터 셋을 최적화해 처리하는 방식을 설명한다. Spark에서 최적화 프로그램의 이름은 Catalyst이며 아래 과정과 같이 나타낼 수 있다. 각 과정에서는 논리적 계획과 물리적 계획을 만들며 이는 마스터 노드(Driver)에서 생성한다. 1) Logical Plan 사용자가 작성한 쿼리를 논리적인 단계로 표현. ✔ Unresolved Logical Plan 쿼리 분석 과정에서..
[Spark] Docker Ubuntu 컨테이너에 Apache Spark를 설치해보자 우분투 설치 docker pull ubuntu docker images * 도커 이미지 삭제하기: docker rmi [IMAGE ID] 컨테이너 실행 docker run -itd --name spark ubuntu /bin/sh 컨테이너 실행 시 docker run -itd 옵션을 사용 -i (--interactive): 컨테이너의 표준입력(stdin) 활성화 (주로 -it 와 같이 사용) -t (--tty): TTY 모드 사용. 키보드를 통해 표준입력(stdin) 전달 (주로 -it 와 같이 사용) -d (--detach): 컨테이너를 백그라운드로 실행 docker exec 명령어 실행 docker exec -it spark /bin/bash * 재시작시 docker start [name] 사용 ex..
[Airflow] 튜토리얼 따라하기 (with 공식 문서🧐) Airflow 공식문서의 튜토리얼을 따라해보자. 오늘 따라할 코드는 다음과 같다. airflow/example_dags/tutorial.py from datetime import datetime, timedelta from textwrap import dedent # The DAG object; we'll need this to instantiate a DAG from airflow import DAG # Operators; we need this to operate! from airflow.operators.bash import BashOperator with DAG( 'tutorial', # These args will get passed on to each operator # You can over..
[Airflow] Docker로 Apache Airflow 설치하기 (with 공식 문서🧐) 데이터 파이프라인의 자동화를 구현해보고 싶어 Airflow에 대해 알아보았다. Apache Airflow Airflow is a platform to programmatically author, schedule and monitor workflows. Airflow는 Python 프로그래밍 언어를 통해 워크플로우를 작성하고 스케줄링, 모니터링하는 플랫폼이다. 💡 데이터 파이프라인 내에서는 데이터가 이동하며 정해진 처리를 반복한다. 이때 각각의 처리를 태스크라고 부르는데 데이터 파이프라인이 복잡해지거나, 태스크 수가 증가할수록 테스크 실행에 문제가 생길 수 있다. Airflow와 같은 워크플로우 관리 도구는 1) 정기적으로 태스크를 실행하고 2) 비정상적인 상태를 감지하여 이를 해결하는 역할을 한다. Ar..