Lakeflow Spark 선언적 파이프라인 흐름을 사용하여 데이터를 증분 방식으로 로드 및 처리

데이터는 흐름을 통해 파이프라인에서 처리 됩니다. 각 흐름은 쿼리 와 일반적으로 대상으로 구성됩니다. 흐름은 쿼리를 일괄 처리로 처리하거나 대상에 대한 데이터 스트림으로 증분 방식으로 처리합니다. 흐름은 Lakeflow Spark Declarative Pipelines의 파이프라인에 속합니다.

일반적으로 파이프라인에서 대상을 업데이트하는 쿼리를 만들 때 흐름이 자동으로 정의되지만 여러 원본의 단일 대상에 추가하는 등 보다 복잡한 처리를 위해 추가 흐름을 명시적으로 정의할 수도 있습니다.

업데이트

흐름은 정의 파이프라인이 업데이트 될 때마다 실행됩니다. 흐름은 사용 가능한 최신 데이터로 테이블을 만들거나 업데이트합니다. 흐름 유형 및 데이터 변경 상태에 따라 업데이트는 새 레코드만 처리하거나 데이터 원본의 모든 레코드를 다시 처리하는 전체 새로 고침을 수행하는 증분 새로 고침을 수행할 수 있습니다.

기본 흐름 및 추가 흐름

파이프라인에서 대상을 업데이트하는 쿼리를 만들면 기본 흐름 이 자동으로 정의됩니다. 스트리밍 테이블의 경우 기본 흐름은 각 업데이트와 함께 새 행을 추가하는 추가 흐름이며 대상과 이름이 같습니다. 단일 단계에서 흐름 및 해당 대상을 만드는 것이 파이프라인을 사용하는 가장 일반적인 방법이며, 이를 사용하여 데이터를 수집하거나 변환할 수 있습니다.

또한 여러 흐름이 단일 대상에 데이터를 추가할 수 있도록 대상과 별도로 흐름을 정의할 수 있습니다. 이 기능은 다음을 수행해야 하는 경우에 유용합니다.

  • 전체 새로 고침을 요구하지 않고 기존 스트리밍 테이블에 추가하는 스트리밍 원본을 추가합니다.
  • 기록 데이터가 누락된 스트리밍 테이블을 백필합니다.
  • UNION 절을 사용하지 않고 여러 소스의 데이터를 결합합니다.

기본 및 명시적 흐름을 만드는 예제는 Lakeflow Spark 선언적 파이프라인에서 흐름 사용을 참조하세요.

흐름 유형

스트리밍 테이블 및 구체화된 뷰의 기본 흐름은 추가 흐름입니다. 변경 데이터 캡처 데이터 원본을 읽는 흐름을 만들 수도 있습니다. 다음 표에서는 다양한 유형의 흐름에 대해 설명합니다.

흐름 유형 Description
추가 추가 흐름은 원본의 새 레코드가 각 업데이트와 함께 대상에 기록되는 가장 일반적인 흐름 유형입니다. 구조적 스트리밍의 추가 모드에 해당합니다. 대상이 완전히 새로 고쳐지지 않는 한 데이터를 대상에 한 번만 삽입해야 하는 일괄 처리 쿼리를 나타내는 플래그를 추가할 ONCE 수 있습니다. 여러 추가 흐름이 특정 대상에 쓸 수 있습니다.
기본 흐름(대상 스트리밍 테이블 또는 구체화된 뷰를 사용하여 생성됨)은 대상과 동일한 이름을 갖습니다. 다른 대상에는 기본 흐름이 없습니다.
CDC 자동화(이전에 변경 내용 적용) 자동 CDC 흐름은 CDC(변경 데이터 캡처) 데이터를 포함하는 쿼리를 수집합니다. 자동 CDC 흐름은 스트리밍 테이블만을 지정할 수 있으며, 원본은 반드시 스트리밍 원본이어야 합니다(ONCE 흐름의 경우에도). 여러 자동 CDC 흐름은 단일 스트리밍 테이블을 대상으로 할 수 있습니다. 자동 CDC 흐름의 대상으로 작동하는 스트리밍 테이블은 다른 자동 CDC 흐름에서만 대상으로 지정할 수 있습니다.
CDC 데이터에 대한 자세한 내용은 AUTO CDC API: 파이프라인을 사용하여 변경 데이터 캡처 간소화를 참조하세요.
업데이트(공개 미리 보기) 업데이트 흐름은 전역의 워터마크가 없는 스트리밍 집계를 싱크로 출력하고, 각 배치에서 변경된 레코드만 내보냅니다.
업데이트 흐름은 Python만 사용할 수 있습니다. update_flow 참조하세요.

추가 리소스

흐름 및 해당 사용에 대한 자세한 내용은 다음 항목을 참조하세요.