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과 역할이 다릅니다. |
sourceType | SAP_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 | 객체 정보와 기본 키 구성 정보를 담는 메타데이터 테이블 |
CUSTOMIZATION | enriched 단계에서 마스터 데이터에 조인하는 보강 테이블 |
새 테이블만 추가하는 경우에는 semantic version을 올릴 필요가 없지만 objects, links, fields, diffs 메타데이터를 다시 빌드해야 합니다. 정리 함수 및 생성 단계 변경과 이 경우를 구분합니다.