데이터 엔지니어링 4

[Airflow] AWS EKS(Kubernetes)에 Airflow 설치

AWS EKS(Amazon Elastic Kubernetes Service) 환경에 Airflow를 설치와 관련된 내용을 담은 문서 환경 정보설치하는 환경에 대한 정보Airflow 버전: 2.9.3 (https://github.com/apache/airflow/tree/2.9.3/chart)EKS 버전: 1.31노드 프로비저닝: Karpenter 구성 환경Airflow를 어떻게 구성(설치)할 지에 대한 설명EKS 환경에 KubernetesExecutor 방식으로 Airflow를 설치한다.Airflow의 DAG는 GitLab에서 관리 한다.Airflow Trigger나 Scheduler 같은 코어 컴포넌트들의 Pod와, 실제 Job이 수행(Airflow Worker)되는 Pod는 네임스페이스를 분리해 구성..

[Spark] Apache Spark 구조 및 Job 실행 과정

Apache Spark Ecosystem, Runtime Architecture, Application LifeCycle에 관해 정리한 문서 Apache Spark의 등장 배경Spark의 등장 배경을 설명하기 위해선, 먼저 Hadoop의 MapReduce에 대한 이야기를 할 필요가 있다. Hadoop은 하나의 컴퓨터에서 처리하기 어려운 대용량 데이터를, 여러 컴퓨터에 분산 저장 및 처리하여 빠르게 작업하기 위한 플랫폼이다. 그리고 Hadoop에서 데이터를 처리하는 방법이 바로 MapReduce 이다. MapReduce 처리 과정을 이해하기 위해 아래 그림을 보자.위 그림은 IBM에서 제공한 예제를 가져온 것으로, 데이터는 아래와 같다.Input 데이터: 각 도시 명, 도시의 일별 기온 값에 대한 데이터 ..

[Airflow] Airflow on Kubernetes(KubernetesExecutor)

Airflow는 Executor의 구성에 따라 Airflow 컴포넌트나 Task 실행 방식이 달라지는데,이 글에서는 KubernetesExecutor를 중점으로 정리를 해보려고 한다. 그러기 위해 우선 널리 사용되는 CeleryExecutor를 간단히 살펴보자. 아래는 CeleryExecutor의 전체적인 아키텍처이다. CeleryExecutor 방식에서는 Result Backend와 Queue Broker라는 컴포넌트가 보이는데, 이들은 각각 아래와 같은 역할을 수행한다.Queue Broker - task를 저장하는 역할Result backend - task의 상태를 저장하는 역할 아래 시퀀스 다이어그램을 보면, 각각이 어떤 일을 하는 건지 좀 더 이해가 쉽다.queue broker는 task들의 대기..

[DB] SQL Processing

SQL 처리 ProcessStages of SQL Processing1. SQL Statement: client가 쿼리 질의2. Syntax Check: 문법적인 검사 수행예시) SQL 질의에서 FROM 오타SQL> SELECT * FORM emp; SELECT * FORM emp * ERROR at line 1: ORA-00923: FROM keyword not found where expected3. Semantic Check: 의미 상 검사 수행(오브젝트 유무 등)예시) emp2 테이블이 존재하지 않는데 질의SQL> SELECT * FROM emp2; SELECT * FROM emp2 * ERROR at line 1: ORA-00942: table or view does not exist4. Sha..

반응형