Data Engineering14 [Airflow] Local Executor Local Executor를 먼저 학습하는 이유 Sequential Executor는 병렬처리가 불가능하고 Celery Executor나 Kubernetes Executor는 여러 대의 서버가 필요하다. 프로덕션 환경에서는 확장성이 매우 중요한 요소이고, 당연히 멀티 노드 아키텍처에서 분산 실행 될 수 있는 Executor를 사용하는 것이 맞다. 다만, 기본이 되는 Local Executor를 통해 개념을 이해하고 단일 머신에서 간단하게 학습할 수 있다. 다중 프로세스를 병렬처리 Local Executor는 단일 서버에서 여러 프로세스를 돌릴 수 있다. airflow의 기반이 되는 언어는 Python으로, 내장 병렬처리 모듈인 multiprocessing을 활용한다. 여러 task를 동시 실행 할 수 있.. 2023. 7. 2. [Airflow] PostgresOperator PostgresOperator 시작 환경 airflow에서 PostgresOperator를 사용하여 postgresql에 일정 주기로 쿼리를 수행하도록 스케줄링을 걸어 보았다. 이 글은 그 과정을 정리하였고, 그 과정을 풀어내고자 한다. 먼저 내 머신의 로컬 폴더 구조는 다음과 같다. 에어플로우를 한다면 처음에 $AIRFLOW_HOME 환경변수를 정의하고 그 안에 dags 폴더를 만들게 되는 데, 내 dags 폴더 안에는 총 4개의 dag 모듈이 있고 sql이라는 스크립트를 모아둔 폴더를 만들었다. PostgresOpeator 연동하기 PostgresOperator를 사용하려면 먼저 postgresSQL DBMS와 airlfow provider가 깔려 있어야 한다. postgresSQL 설치는 이 글에서.. 2023. 7. 1. [Hive] Architecture Major components UI 사용자가 쿼리 및 기타 작업을 시스템에 제출하기 위한 사용자 인터페이스 Hive Web UI, 커맨드라인 (HD Insight는 Window Server만 해당) Driver 쿼리를 수신하는 구성 요소. 세션을 핸들링하고 JDBC/ODBC 인터페이스에서 형성된 execute 및 fetch API를 제공 Compiler 쿼리 구문, 쿼리 블록, 쿼리 식에 대한 의미 분석 수행. 메타스토어에서 조회한 테이블 및 파티션 메타데이터의 도움으로 실행 계획을 생성 Metastore 컬럼명 및 타입, 데이터를 읽고 쓰는 데 필요한 직렬화/역직렬화 변환기, 데이터가 저장되는 해당 HDFS 파일을 포함하여 웨어하우스에 있는 다양한 테이블 및 파티션의 모든 구조 정보를 저장 하이브에서 .. 2023. 7. 1. [Hive] 기본 개념 정리 Hive 페이스북에서 개발한 Hadoop 기반의 데이터 웨어하우징 프레임워크 자바 프로그래밍은 부족하지만 강력한 SQL 기술을 가진 분석가를 위해 개발 복잡한 머신러닝 알고리즘을 구현하기에는 적합하지 않음 MySQL에 사용하는 것처럼 HDFS 클러스터 전체에 걸쳐 저장된 데이터에 표준 SQL 쿼리를 실행 SQL을 MapReduce나 TEZ 명령어로 번역하여 동작. 이 둘은 YARN 클러스터 관리자 위에서 실행 Hive는 SQL 쿼리를 매퍼와 맵리듀스로 분해. 클러스터 전체에 걸쳐 어떻게 실행할지 알아냄 사용자 관점에서는 데이터 웨어하우스를 사용하는 것처럼 SQL 데이터베이스에 쿼리하는 것과 동일 이미 SQL에 익숙하고 데이터베이스나 데이터 웨어하우스에 경험이 있다면 아주 강력한 도구 Why Hive? H.. 2023. 7. 1. 이전 1 2 3 4 다음