Cloud Dataflow 프로그래밍 모델

Dataflow 프로그래밍 모델은 대규모 데이터 처리 방식을 단순화하도록 설계되었습니다. Dataflow SDK로 프로그래밍하는 경우 Cloud Dataflow 실행자 서비스 중 하나를 통해 실행할 데이터 처리 작업을 생성하게 됩니다. 이 모델을 사용하면 병렬 처리의 물리적 조정보다 데이터 처리 작업의 논리적 구성에 집중할 수 있습니다. 작업이 어떻게 실행되는지가 아니라 작업을 통해 무엇을 해야할 것인지에 집중할 수 있습니다.

Dataflow 모델은 사용자가 개별 작업자 조정, 데이터 세트 분할, 이와 유사한 기타 작업과 같은 분산 처리의 하위 수준 세부정보에 신경쓰지 않아도 되는 여러 가지 유용한 추상화를 제공합니다. 이러한 하위 수준 세부정보는 Cloud Dataflow의 실행자 서비스에서 모두 관리합니다.

Dataflow를 이용한 데이터 처리에서는 다음 네 가지 주요 개념에 대해 생각해볼 수 있습니다.

  • 파이프라인
  • PCollection
  • 변환
  • I/O 소스 및 싱크

이러한 원칙에 익숙해지면 Dataflow 프로그래밍 모델을 사용하여 데이터 처리 작업을 수행하는 최선의 방법을 결정하는 데 도움이 되는 파이프라인 설계 원칙에 대해 자세히 알아볼 수 있습니다.

파이프라인

파이프라인은 외부 소스에서 일부 입력 데이터를 받아들이고, 해당 데이터를 변환하여 유용한 인텔리전스를 제공하고, 일부 출력 데이터를 생성하는 전체 계산 과정을 캡슐화합니다. 이 출력 데이터는 대개 외부 데이터 싱크에 작성됩니다. 입력 소스와 출력 싱크는 동일하거나 서로 다른 유형일 수 있으며 사용자는 데이터를 한 형식에서 다른 형식으로 쉽게 변환할 수 있습니다.

각 파이프라인은 Dataflow 서비스에서 처음부터 끝까지 잠재적으로 반복 가능한 단일 작업을 나타냅니다.

Dataflow SDK에서 파이프라인이 표현되는 방식에 대한 전체 논의를 보려면 파이프라인을 참조하세요.

PCollection

PCollection은 파이프라인의 데이터 세트를 나타냅니다. Dataflow PCollection 클래스는 사실상 크기 제한이 없는 데이터 세트를 나타낼 수 있는 특수 컨테이너 클래스입니다. PCollection은 크기가 고정된 데이터 세트(예: 텍스트 파일 또는 BigQuery 테이블의 데이터) 또는 계속 업데이트되는 데이터 소스의 제한 없는 데이터 세트(예: Google Cloud Pub/Sub의 구독)를 보유할 수 있습니다.

PCollection은 파이프라인의 각 단계에 대한 입력 및 출력입니다.

Dataflow SDK에서 PCollection이 작동하는 방법에 대한 자세한 내용은 PCollection을 참조하세요.

변환

변환은 파이프라인의 데이터 처리 작업 또는 단계입니다. 변환은 하나 이상의 PCollection을 입력으로 사용하고 해당 PCollection의 요소에 대해 사용자가 제공하는 처리 기능을 수행하며 출력 PCollection을 생성합니다.

변환은 파이프라인 내에서 엄격한 선형 순서에 따르지 않아도 됩니다. 조건부, 루프, 기타 일반 프로그래밍 구조를 사용하여 브랜치 파이프라인이나 구조가 반복되는 파이프라인을 만들 수 있습니다. 파이프라인은 선형 순서가 아닌 단계의 방향성 그래프로 생각할 수 있습니다.

Dataflow SDK에서 변환이 작동되는 방법에 대한 전체 논의를 보려면 변환을 참조하세요.

I/O 소스 및 싱크

Dataflow SDK는 파이프라인 I/O용 데이터 소스 및 데이터 싱크 API를 제공합니다. 소스 API를 사용하여 파이프라인으로 데이터를 읽어오고, 싱크 API를 사용하여 파이프라인에서 출력 데이터를 작성합니다. 이러한 소스 및 싱크 작업은 파이프라인의 루트와 엔드포인트를 나타냅니다.

Dataflow 소스와 Sink API를 사용하면 파이프라인이 Google Cloud Storage의 파일, BigQuery 테이블 등 다양한 데이터 저장소 형식의 데이터로 작업할 수 있습니다. 또한 커스텀 데이터 소스나 싱크를 사용하여 Dataflow로 하여금 병렬로 여기에서 읽어오거나 여기에 쓰는 방법을 학습시킬 수도 있습니다.

Dataflow SDK에서 데이터 소스 및 싱크가 작동하는 방법에 대한 자세한 내용은 파이프라인 I/O를 참조하세요.

Apache Spark™는 미국 및/또는 다른 국가에서 사용되는 Apache Software Foundation 또는 해당 계열사의 상표입니다.
이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.