GCP: Dataflow

Dataflow



에 대해 씁니다.
Apache Beam을 기반으로 한 배치/실시간 데이터 처리 기반입니다.

Concept



  • Pipelines: 데이터 처리 단위
  • PCollection : 파이프 라인 데이터로 처리 할 수있는 객체
  • Transforms : PCollection을 입력으로하는 데이터 변환 처리
  • ParDo : 사용자 정의 함수를 호출하는 병렬 처리 작업
  • 파이프 라인 I/O : 입력 소스와 출력 싱크로 구성된 Transform
  • Aggregation : 복수의 입력으로부터 값을 계산하는 처리, 대표적인 것은 그룹핑
  • Runner: Pipeline을 실행하는 소프트웨어
  • Watermarks : a 윈도우의 모든 데이터가 도착할 것으로 예상되는 시간
  • Regional Endpoints : 지역 엔드 포인트는 작업 메타 데이터와 작업자를 배포합니다.
  • Low latency watermarks : Monitoring보다 낮은 대기 시간으로 데이터를 보낼 수 있습니다
  • High watermark accuracy : Pub/Sub 단독으로 구현하는 것보다 정확한 이벤트 시간을 구현할 수 있습니다

  • Streaming pipelines
    스트림 데이터 처리에서는, 데이터가 계속적으로 가해지기 때문에, 윈도우, 워터 마크, 트리거를 이용한다.


  • Tumbling window: 고정 윈도우, 고정 시간 윈도우
  • Hopping window : 슬라이딩 윈도우, 윈도우 시간과 간격을 가질 수 있습니다
  • Session window : 특정 동작이 계속되는 것으로 태어나는 윈도우, 갭 시간을 초과하면 새로운 윈도우가 태어난다

  • How-to



    파이프라인 샘플


    Dataflow ShuffleGroupByKey 이나 CoGroupByKey 이나 Combine 의 기초가 되는 조작.
    배치 파이프라인에서는 더 빠릅니다.
    작업자의 리소스 처리가 적습니다.
    데이터를 유지하지 않기 때문에 오토스케일이 하기 쉽다.

    Customer Managed Encryption Key
    사용자 관리 암호화를 구현할 수 있습니다.
    사용자 지정 데이터 소스에서 읽은 데이터는 암호화되지만 그룹화 등의 키 기반 Transform을 사용할 때는 데이터가 암호화되지 않습니다.

    이상입니다.
    실시간 데이터 처리에서는 스테디셀러 툴인데 제대로 누르고 싶네요.

    좋은 웹페이지 즐겨찾기