데이터 엔지니어링 3

[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..

반응형