Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

HyperAuto V1 YAML 설정 참조

HyperAuto V1은 Sunset 단계에서 전체 지원을 유지합니다. 일반 구성은 Cockpit에서 관리하고 고급 매개변수나 비표준 입력 구성에는 생성 저장소의 YAML을 편집할 수 있습니다. 잘못된 설정은 파이프라인을 실패시킬 수 있으므로 운영에 적용하기 전에 브랜치에서 변경을 확인합니다.

설정 파일은 transforms-bellhop/src/config/의 SourceConfig.yaml과 PipelineConfig.yaml입니다. 아래 RID, 경로, 테이블과 workflow 이름은 구조 설명용 예시이며 실제 리소스 및 템플릿이 제공하는 항목으로 바꿉니다.

SourceConfig.yaml

SourceConfig는 원천 하나의 연결, 데이터 폴더, 정리와 테이블별 처리를 정의합니다. SAP context마다 별도 SourceConfig 파일이 필요합니다.

sourceName: MY_SOURCE
sourceRid: ri.magritte..source.00000000-0000-0000-0000-000000000001
sapContext:
  type: direct
rawFolderStructure:
  raw: /HyperAuto/source/raw
  dataDictionary: /HyperAuto/source/metadata
cleaningLibraries:
  - convert_all_columns_to_clean_types
deploymentSemanticVersion: 2
metadataSparkProfiles:
  - DRIVER_MEMORY_MEDIUM
languageKey: 'E'
tables:
  - tableName: ABCD
    datasetTransformsConfig:
      datasetName: ABCD
      deduplicationComparisonColumns: []
      batchUnionComponents: []
      tableCleaningLibraries: []
  - tableName: WXYZ
    datasetTransformsConfig:
      datasetName: WXYZ
      deduplicationComparisonColumns:
        - /PALANTIR/TIMESTAMP
        - /PALANTIR/ROWNO
      batchUnionComponents:
        - WXYZ_historical
        - WXYZ_incremental
      tableCleaningLibraries:
        - parse_timestamp_column
      sparkProfiles:
        profiles:
          - EXECUTOR_MEMORY_MEDIUM
          - NUM_EXECUTORS_4
필드의미와 기본값
sourceName원천을 식별하는 이름입니다. V1 기본 키와 외래 키의 접두어로 사용하므로 이름 변경이 키에 영향을 줄 수 있습니다.
sourceRid이 SDDI 인스턴스에 연결한 소스 RID입니다.
sapContext선택 항목이며 SAP context 정보를 담습니다. Explorer에서 context를 미리 선택하는 데 사용합니다.
rawFolderStructure원시 데이터와 메타데이터의 폴더를 지정합니다.
cleaningLibraries모든 테이블에 적용할 정리 함수 목록입니다.
deduplicationConfig선택 항목이며 기본 없음입니다. 모든 테이블의 중복 해소 기준을 지정합니다.
metadataSparkProfiles선택 항목이며 기본 없음입니다. 메타데이터 생성의 Spark profile 목록입니다.
languageKey보강 데이터에 사용할 언어입니다. 선택 항목이며 기본 'E'입니다.
deploymentSemanticVersion선택 항목이며 기본 0입니다. 값을 올리면 스냅샷을 강제합니다. 예제에서는 2를 지정했습니다.
tables이 원천에서 처리할 테이블 목록입니다.

폴더와 정리 함수

rawFolderStructure.raw는 원시 테이블 폴더입니다. dataDictionary는 선택 항목이며 생략하면 raw와 같은 폴더를 사용합니다.

정리 함수는 transforms-bellhop/src/software_defined_integrations/transforms/cleaned/function_libraries에 정의합니다. 함수 이름은 해당 템플릿에 실제로 정의된 함수와 일치해야 합니다. 전역 cleaningLibraries에 함수를 추가하거나 제거하면 deploymentSemanticVersion을 올려야 합니다.

전역 중복 해소

deduplicationConfig.comparisonColumns는 기본 키별 레코드를 선택할 때 최댓값을 비교하는 열들입니다. 선택 항목 changeModeColumn을 지정하면 그 열의 값이 D인 행을 삭제 처리합니다.

메타데이터 실행 profile

metadataSparkProfiles는 objects, fields, links, diffs 데이터셋 생성에 적용합니다. 이름을 YAML에 쓰기 전에 해당 Spark profile을 저장소에 가져와야 합니다.

테이블별 설정

필드의미와 조건
tableName메타데이터에 있는 테이블 이름입니다.
datasetTransformsConfig.datasetName원시 데이터의 Foundry 데이터셋 이름입니다.
deduplicationComparisonColumns테이블별 중복 해소 비교 열입니다. 전역 비교 필드 다음에 적용합니다.
changeModeColumn선택 항목이며 D 행을 삭제 처리하는 열입니다. 테이블 설정이 전역 변경 모드 열을 덮어씁니다.
batchUnionComponents정리 단계 전에 합칠 입력 데이터셋 이름 목록입니다.
sparkProfiles.profiles해당 테이블의 처리 단계에 적용할 Spark profile 목록입니다. 먼저 저장소에 가져와야 합니다.
sparkProfiles.stages선택 항목이며 기본 없음입니다. 없으면 모든 단계에 profile을 적용합니다. 지정 값은 아래 목록을 사용합니다.
tableCleaningLibraries이 테이블에만 적용할 정리 함수입니다. 추가 또는 제거 시 deploymentSemanticVersion을 올려야 합니다.
enforceUniquePrimaryKeys선택 항목이며 기본 False입니다. True이고 deduplicationComparisonColumns가 정의되어 있으면 중복 제거 단계에서 기본 키당 한 행만 남깁니다. 선택 결과가 비결정적일 수 있습니다.

테이블별 Spark profile의 stage 값은 다음과 같습니다.

CLEANED, DERIVED, ENRICHED, FINAL, RENAMED, RENAMED_CHANGELOG

PipelineConfig.yaml

PipelineConfig는 포함할 SourceConfig 파일, 출력 위치, workflow와 테이블의 의미 분류를 정의합니다. Workflow의 이름, 변수 및 enrichment는 현재 템플릿에 존재하는 항목과 설정에 맞아야 합니다. 다음 my_workflow 등의 값은 구조를 설명하는 가상 이름입니다.

projectName: HyperAuto
sourceType: SAP_ERP
sourceConfigFileNames:
  - SourceConfig.yaml
outputFolder: /HyperAuto/source/output
workflows:
  my_workflow:
    variables:
      - name: my_variable_name
        value: my_variable_value
    enrichments:
      - my_enrichment_name
tables:
  ABCD:
    displayName: Header Table
    types:
      - OBJECT
  WXYZ:
    displayName: Item Table
    types:
      - OBJECT
      - METADATA
disableForeignKeyGeneration: False
disableEnrichedStage: False
disableRenamedStage: False
필드의미와 기본값
projectName온톨로지 객체 이름의 접두어로 사용하는 프로젝트 이름입니다. SourceConfig의 sourceName과 역할이 다릅니다.
sourceTypeSAP_ERP, SALESFORCE, ORACLE_NETSUITE 중 원천 유형을 지정합니다.
sourceConfigFileNames파이프라인에 포함할 SourceConfig 파일 목록입니다.
outputFolder출력 데이터셋을 기록할 폴더입니다.
workflows배포할 workflow와 변수 및 enrichment 구성을 지정합니다.
tables이 파이프라인에서 처리할 테이블과 분류를 지정합니다.
disableEnrichedStage선택 항목이며 기본 False입니다. 켜면 enriched 데이터셋을 만들지 않아 관련 workflow가 깨질 수 있습니다.
disableRenamedStage선택 항목이며 기본 False입니다. 켜면 renamed_changelog 데이터셋을 만들지 않아 관련 workflow가 깨질 수 있습니다.
disableForeignKeyGeneration켜면 외래 키 열을 만들지 않으며 관련 workflow에 영향을 줍니다.

세 생성 단계를 비활성화하는 설정을 바꾸면 deploymentSemanticVersion을 올려 변경을 반영해야 합니다. 출력 스키마와 하위 사용처에 미치는 영향을 확인합니다.

테이블 의미 분류

displayName은 사람이 읽는 이름이며 출력 데이터셋은 displayName (technicalName) 형식으로 명명합니다. types에는 여러 분류를 넣을 수 있습니다.

유형의미
OBJECT온톨로지 객체를 구성하는 마스터 데이터 테이블
METADATA객체 정보와 기본 키 구성 정보를 담는 메타데이터 테이블
CUSTOMIZATIONenriched 단계에서 마스터 데이터에 조인하는 보강 테이블

새 테이블만 추가하는 경우에는 semantic version을 올릴 필요가 없지만 objects, links, fields, diffs 메타데이터를 다시 빌드해야 합니다. 정리 함수 및 생성 단계 변경과 이 경우를 구분합니다.