이야기박스
Pipeline SDK (Apache Beam & Cloud Dataflow) 본문
Pipeline이란?
Google Cloud Dataflow == Apache Beam Pipeline
은 서로 동일한 솔루션이라고 하네요.
Cloud Dataflow란?
스트리밍 및 배치 처리를 지원하는 오토 스케일링 데이터 파이프라인입니다.
장점
- 데이터 변경을 각각의 파이프로 구성 가능
- auto scailing 지원
- 서버리스 서비스
- 기타 gcp 서비스들과 손쉬운 연동
지원 언어
- Java SDK
- Python SDK
- Go SDK
기본 파이프라인
기본적으로 선형 작업이 이루어지지만, 여러 입력 소스, 여러 출력 소스를 통하여 방향성 비순환 그래프를 이룰 수도 있습니다.
- Pipeline I/O : 데이터 input / output 동작
- Transform : 데이터 변환, 가공 --> PCollection 저장
- PCollection : 처리된 데이터 저장을 위한 데이터 타입
* 주의할 점
변환된 PCollection을 그대로 넘기려고 하면, 에러가 발생합니다.
왜냐하면, PCollection은 immutable 하기 때문에, 새로 저장을 해주어야 합니다.
다양한 파이프라인 형태
PCollection의 분기
2. 단일 변환 출력을 여러 PCollection으로 출력하는 것
PCollection 병합
PCollection의 병합은 Flatten 작업과 Join 작업을 통해 진행할 수 있습니다.
1. Flatten - Dataflow SDK에서 Flatten 변환을 사용합니다. 같은 유형의 PCollection을 대상으로 할 때 효과적입니다.
2. Join - Dataflow SDK에서 CoGroupByKey 변환을 사용합니다. 키/값을 통한 관계형 조인을 수행합니다.
다중 입력
한 개 이상의 소스로부터 입력을 받을 수 있습니다.
여러 소스에서 입력을 받은 후, PCollection 병합을 통하여 새로운 PCollection을 생성합니다.
참조
'Computer & Data > Big Data' 카테고리의 다른 글
[MariaDB] errno: 150 "Foreign key constraint is incorrectly formed" (1) | 2018.12.11 |
---|---|
What is ORC File Format? (0) | 2018.12.05 |
Nomalization (정규화) (0) | 2018.10.25 |
LMAX Architecture - Disruptor (2) | 2018.10.10 |
Protocol Buffers (1) | 2018.07.06 |