이 문서에서는 Lakeflow Spark 선언적 파이프라인의 파이프라인 JSON 설정 사양 및 테이블 속성에 대한 참조를 제공합니다. 이러한 다양한 속성 및 구성 사용에 대한 자세한 내용은 다음 문서를 참조하세요.
파이프라인 구성
id형식:
string이 파이프라인에 대한 전역적으로 고유한 식별자입니다. 식별자는 시스템에서 할당되며 변경할 수 없습니다.
name형식:
string이 파이프라인의 사용자 친화적인 이름입니다. 이 이름은 UI에서 파이프라인 작업을 식별하는 데 사용할 수 있습니다.
configuration형식:
object파이프라인을 실행할 클러스터의 Spark 구성에 추가할 설정의 선택적 목록입니다. 이러한 설정은 Lakeflow Spark 선언적 파이프라인 런타임에서 읽고 Spark 구성을 통해 파이프라인 쿼리에 사용할 수 있습니다.
요소의 형식은
key:value쌍으로 지정해야 합니다.libraries형식:
array of objects파이프라인 코드 및 필수 아티팩트를 포함하는 코드 파일의 배열입니다.
clusters형식:
array of objects파이프라인을 실행할 클러스터에 대한 사양 배열입니다.
지정하지 않으면 파이프라인은 파이프라인에 대한 기본 클러스터 구성을 자동으로 선택합니다.
development형식:
boolean파이프라인을
development모드로 실행할지production모드로 실행할지를 나타내는 플래그입니다.기본값은
truenotifications형식:
array of objects파이프라인 업데이트가 완료되거나, 재시도 가능한 오류로 실패하거나, 다시 시도할 수 없는 오류로 실패하거나, 흐름이 실패할 때 이메일 알림에 대한 선택적 사양 배열입니다.
continuous형식:
boolean파이프라인을 지속적으로 실행할지 여부를 나타내는 플래그입니다.
기본값은
false입니다.catalog형식:
string파이프라인에 대한 모든 데이터 세트 및 메타데이터가 게시되는 파이프라인의 기본 카탈로그 이름입니다. 이 값을 설정하면 파이프라인에 대한 Unity 카탈로그가 활성화됩니다.
설정이 안 되어 있으면, 파이프라인은
storage에 지정된 위치를 사용하여 레거시 Hive 메타스토어에 게시합니다.레거시 게시 모드에서 현재 파이프라인의 모든 데이터 세트가 게시되는 대상 스키마를 포함하는 카탈로그를 지정합니다. LIVE 스키마(레거시)를 참조하세요.
schema형식:
string파이프라인에 대한 모든 데이터 세트 및 메타데이터가 기본적으로 게시되는 파이프라인의 기본 스키마 이름입니다. 대상 카탈로그 및 스키마를 설정하기 위해을 참조하세요.
target(레거시)형식:
string현재 파이프라인에 정의된 모든 데이터 세트가 게시되는 대상 스키마의 이름입니다.
target대신schema설정하면 레거시 게시 모드를 사용하도록 파이프라인이 구성됩니다. LIVE 스키마(레거시)를 참조하세요.storage(레거시)형식:
string파이프라인 실행에 필요한 출력 데이터 및 메타데이터가 저장되는 DBFS 또는 클라우드 스토리지의 위치입니다. 테이블 및 메타데이터는 이 위치의 하위 디렉터리에 저장됩니다.
storage설정을 지정하지 않으면 시스템은 기본적으로dbfs:/pipelines/위치로 설정됩니다.파이프라인을 만든 후에는
storage설정을 변경할 수 없습니다.channel형식:
string사용할 Lakeflow Spark 선언적 파이프라인 런타임의 버전입니다. 지원되는 값은 다음과 같습니다.
-
preview런타임 버전에 대한 예정된 변경 내용으로 파이프라인을 테스트합니다. -
current을(를) 사용하여 현재 런타임 버전을 사용하십시오.
channel필드는 선택 사항입니다. 기본값은current입니다. Databricks는 프로덕션 워크로드에 현재 런타임 버전을 사용하는 것이 좋습니다.-
edition형식
string파이프라인을 실행하는 Lakeflow Spark 선언적 파이프라인 제품 버전입니다. 이 설정을 사용하면 파이프라인의 요구 사항에 따라 최상의 제품 버전을 선택할 수 있습니다.
-
CORE스트리밍 수집 워크로드를 실행하는 데 사용. -
PRO에서 스트리밍 수집 및 변동 데이터 캡처(CDC) 워크로드를 실행합니다. -
ADVANCED스트리밍 수집 워크로드, CDC 워크로드 및 데이터 품질 제약 조건을 적용해야 하는 워크로드를 실행합니다.
edition필드는 선택 사항입니다. 기본값은ADVANCED입니다.-
photon형식:
boolean파이프라인 실행에 Photon 사용 여부를 나타내는 플래그입니다. Photon은 Azure Databricks 고성능 Spark 엔진입니다. 광자 사용 파이프라인은 광자 이외의 파이프라인과 다른 비율로 청구됩니다.
photon필드는 선택 사항입니다. 기본값은false입니다.pipelines.maxFlowRetryAttempts형식:
int파이프라인 업데이트 중에 다시 시도 가능한 오류가 발생하는 경우 파이프라인 업데이트에 실패하기 전에 흐름을 다시 시도할 최대 횟수입니다.
기본값: 두 번의 다시 시도. 다시 시도 가능한 오류가 발생하면 Lakeflow Spark 선언적 파이프라인 런타임은 원래 시도를 포함하여 흐름을 세 번 실행하려고 시도합니다.
pipelines.numUpdateRetryAttempts형식:
int업데이트 중에 다시 시도 가능한 오류가 발생하는 경우 업데이트를 영구적으로 실패하기 전에 업데이트를 다시 시도하는 최대 횟수입니다. 재시도는 전체 업데이트로 실행됩니다.
이 매개 변수는 프로덕션 모드에서 실행되는 파이프라인에만 적용됩니다. 파이프라인이 개발 모드에서 실행되거나
Validate업데이트를 실행하는 경우 재시도가 시도되지 않습니다.기본값:
- 트리거된 파이프라인은 5개입니다.
- 연속 파이프라인의 경우 무제한입니다.
파이프라인 테이블 속성
Delta Lake지원하는 테이블 속성 외에도 다음 테이블 속성을 설정할 수 있습니다.
pipelines.autoOptimize.zOrderCols기본값: 없음
이 테이블을 z 순서로 정렬할 쉼표로 구분된 열 이름 목록을 포함하는 선택적 문자열입니다. 예를 들어
pipelines.autoOptimize.zOrderCols = "year,month"pipelines.reset.allowed기본값:
true이 테이블에 대해 전체 새로 고침이 허용되는지 여부를 제어합니다.
pipelines.autoOptimize.managed기본값:
true이 테이블의 자동으로 예약된 최적화를 사용하거나 사용하지 않도록 설정합니다.
예측 최적화를 통해 관리되는 파이프라인의 경우 이 속성은 사용되지 않습니다.
파이프라인 트리거 간격
전체 파이프라인 또는 데이터 세트 선언의 일부로 파이프라인 트리거 간격을 지정할 수 있습니다. 연속 파이프라인 대한 트리거 간격 설정참조하세요.
pipelines.trigger.interval기본값은 흐름 유형에 따라 달라집니다.
- 스트리밍 쿼리의 경우 5초입니다.
- 모든 입력 데이터가 델타 원본에서 온 경우 전체 쿼리에 대한 1분입니다.
- 일부 데이터 원본이 델타가 아닌 경우 전체 쿼리의 경우 10분입니다.
값은 숫자와 시간 단위입니다. 유효한 시간 단위는 다음과 같습니다.
-
second,seconds -
minute,minutes -
hour,hours -
day,days
값을 정의할 때 단수 또는 복수 단위를 사용할 수 있습니다. 예를 들면 다음과 같습니다.
{"pipelines.trigger.interval" : "1 hour"}{"pipelines.trigger.interval" : "10 seconds"}{"pipelines.trigger.interval" : "30 second"}{"pipelines.trigger.interval" : "1 minute"}{"pipelines.trigger.interval" : "10 minutes"}{"pipelines.trigger.interval" : "10 minute"}
사용자가 설정할 수 없는 클러스터 특성
Lakeflow Spark SDP(선언적 파이프라인)는 클러스터 수명 주기를 관리하므로 많은 클러스터 설정은 시스템에서 설정되며 파이프라인 구성 또는 파이프라인에서 사용하는 클러스터 정책에서 사용자가 수동으로 구성할 수 없습니다. 다음 표에서는 이러한 설정과 이러한 설정을 수동으로 설정할 수 없는 이유를 나열합니다.
cluster_nameSDP는 파이프라인 업데이트를 실행하는 데 사용되는 클러스터의 이름을 설정합니다. 이러한 이름은 재정의할 수 없습니다.
data_security_modeaccess_mode이러한 값은 시스템에 의해 자동으로 설정됩니다.
spark_versionSDP 클러스터는 최신 기능을 포함하도록 지속적으로 업데이트되는 사용자 지정 버전의 Databricks 런타임에서 실행됩니다. Spark 버전은 Databricks 런타임 버전과 함께 번들로 제공되므로 재정의할 수 없습니다.
autotermination_minutesSDP는 클러스터 자동 종료 및 재사용 논리를 관리하므로 클러스터 자동 종료 시간을 재정의할 수 없습니다.
runtime_engine파이프라인에 Photon을 사용하도록 설정하여 이 필드를 제어할 수 있지만 이 값을 직접 설정할 수는 없습니다.
effective_spark_version이 값은 시스템에 의해 자동으로 설정됩니다.
cluster_source이 필드는 시스템에서 설정하며 읽기 전용입니다.
docker_imageSDP는 클러스터 수명 주기를 관리하므로 파이프라인 클러스터에서 사용자 지정 컨테이너를 사용할 수 없습니다.
workload_type이 값은 시스템에서 설정되며 재정의할 수 없습니다.