Airflow는 배치성으로 처리가 필요한 워크플로우를 개발하고 스케쥴링하고 모니터링하는 오케스트레이션 플랫폼이다. 스트리밍 솔루션이 아니기 때문에 계속 돌아가는 이벤트기반 워크플로우를 위해 설계되지 않았다. 보통은 Kafka를 통해서 실시간 데이터를 입수 및 처리해서 스토리지에 쌓고 Airflow가 주기적으로 데이터 처리를 시작한다. 이번 포스트에서는 Airflow의 기본 개념과 중요한 구성 요소들을 간단하게 소개한다. 스크립트 작성보다 기존에 사용하던 Airflow의 기본 철학을 이해하고 DAG를 구성하면서 사용했던 인자들을 복습하는 장이다. Workflow airflow에서는 워크플로우를 코드로 정의할 수 있다는 특징을 가진다. 이런 특성은 다음 목적을 위해 구현된다. Dynamic: 파이썬 코드로 ..
💡 병렬화 및 내결함성의 세부 사항을 추상화하는 대규모 데이터셋을 처리하기 위한 프로그래밍 모델 Cluster Master Node 분산 파일 시스템을 관리하고 워커 노드가 수행할 작업을 예약한다. NameNode: 파일 시스템 메타 데이터를 관리 Job Tracker: 워커 노드에서 작업 실행을 조정 Worker Node 데이터를 처리하는 작업을 실행하는 시스템이다. 데이터 블록을 저장하고 마스터노드로부터 할당된 테스크를 수행한다. 하둡에서 데이터는 분산된 방식으로 워커 노드에 저장된다. 맵리듀스 모델은 그 데이터를 병렬 처리하는데 쓰인다. 이런 원리로 하둡은 대용량 데이터를 효율적으로 관리하고 데이터 분석과 머신러닝 같은 규모의 작업을 할 수 있다. Job 클라언트가 수행하는 작업의 기본 단위 (입력..
💡 큰 데이터가 있다면 하나의 서버를 키우는것보다 더 많은 서버에서 이를 분담 검색 엔진 개발을 위해 시작된 프로젝트 기능을 위한 크롤링 데이터를 색인하는 시스템 → 수십억 웹 페이지, 1조개 링크에 대한 데이터 저장 테라바이트 크기 이상의 데이터를 더 빠르게 정렬할 수 있게 되었다 HDFS 💡 대용량 파일을 다룰 수 있도록 설계된 파일 시스템 하둡의 파일 시스템 추상화 개념에 대한 구현체 중 하나 클러스터 전체에서 매우 높은 총 대역폭을 제공한다. 설계 특성 매우 큰(~MB, GB, TB, PB) 파일 스트리밍 방식의 데이터 접근 한 번 쓰고 여러번 읽는다 데이터셋은 생성 or 원본으로부터 복사 범용 하드웨어 쉽게 구할 수 있는 하드웨어로 구성된 대형 클러스터에서 문제 없이 실행되도록 설계됨 HDFS ..