5단계: 배포 구성

이 페이지에서는 Cortex Framework의 핵심인 Cortex Framework Data Foundation을 배포하는 다섯 번째 단계를 설명합니다. 이 단계에서는 Cortex Framework Data Foundation 저장소의 구성 파일을 요구사항에 맞게 수정합니다.

구성 파일

배포 동작은 Cortex Framework Data Foundation의 구성 파일 config.json에 의해 제어됩니다. 이 파일에는 전역 구성과 각 워크로드의 특정 구성이 포함되어 있습니다. 다음 단계에 따라 필요에 맞게 config.json 파일을 수정합니다.

  1. Cloud Shell에서 config.json 파일을 엽니다.
  2. 다음 매개변수에 따라 config.json 파일을 수정합니다.

    매개변수 의미 기본값 설명
    testData 테스트 데이터 배포 true 소스 데이터 세트가 있고 빌드가 실행되는 프로젝트입니다. 참고: 테스트 데이터 배포는 원시 데이터 세트가 비어 있고 테이블이 없는 경우에만 실행됩니다.
    deploySAP SAP 배포 true SAP 워크로드 (ECC 또는 S/4 HANA)의 배포를 실행합니다.
    deploySFDC Salesforce 배포 true Salesforce 워크로드의 배포를 실행합니다.
    deployMarketing 마케팅 배포 true 마케팅 소스 (Google Ads, CM360, TikTok)의 배포를 실행합니다.
    deployOracleEBS Oracle EBS 배포 true Oracle EBS 워크로드의 배포를 실행합니다.
    deployDataMesh 데이터 메시 배포 true 데이터 메시 배포를 실행합니다. 자세한 내용은 데이터 메시 사용자 가이드를 참고하세요.
    enableTaskDependencies 작업 종속 DAG false 단일 DAG 내에서 종속 항목 순서에 따라 지원되는 SQL 테이블이 실행되도록 태스크 종속 DAG를 사용 설정합니다. 자세한 내용은 작업 종속 DAG를 참고하세요.
    turboMode 터보 모드로 배포합니다. true 더 빠른 배포를 위해 동일한 Cloud Build 프로세스의 단계로 모든 뷰 빌드를 병렬로 실행합니다. false로 설정하면 각 보고 뷰가 자체 순차적 빌드 단계에서 생성됩니다. 테스트 데이터를 사용하거나 보고 열과 소스 데이터 간의 불일치가 해결된 후에만 true로 설정하는 것이 좋습니다.
    projectIdSource 소스 프로젝트 ID - 소스 데이터 세트가 있고 빌드가 실행되는 프로젝트입니다.
    projectIdTarget 타겟 프로젝트 ID - 사용자 대상 데이터 세트의 타겟 프로젝트입니다.
    targetBucket 생성된 DAG 스크립트를 저장할 타겟 버킷 - DAG (및 Dataflow 임시 파일)가 생성되는 이전에 생성된 버킷입니다. 실제 Airflow 버킷을 사용하지 마세요.
    location 위치 또는 지역 "US" BigQuery 데이터 세트와 Cloud Storage 버킷이 있는 위치입니다.

    BigQuery 데이터 세트 위치에 나열된 제한사항을 참고하세요.

    testDataProject 테스트 하네스 소스 kittycorn-public 데모 배포를 위한 테스트 데이터의 소스입니다. testDatatrue인 경우에 적용됩니다.

    자체 테스트 하니스가 없는 한 이 값을 변경하지 마세요.

    k9.datasets.processing K9 데이터 세트 - 처리 "K9_PROCESSING" K9 구성 파일에 정의된 대로 교차 워크로드 템플릿(예: 날짜 측정기준)을 실행합니다. 이러한 템플릿은 일반적으로 다운스트림 워크로드에 필요합니다.
    k9.datasets.reporting K9 데이터 세트 - 보고 "K9_REPORTING" K9 구성 파일에 정의된 대로 교차 워크로드 템플릿과 외부 데이터 소스 (예: 날씨)를 실행합니다. 기본적으로 주석 처리되어 있습니다.
    DataMesh.deployDescriptions 데이터 메시 - 애셋 설명 true BigQuery 애셋 스키마 설명을 배포합니다.
    DataMesh.deployLakes 데이터 메시 - 레이크 및 영역 false 처리 계층별로 테이블을 정리하는 Dataplex 범용 카탈로그 레이크 및 영역을 배포하려면 사용 설정 전에 구성해야 합니다.
    DataMesh.deployCatalog 데이터 메시 - 카탈로그 태그 및 템플릿 false BigQuery 애셋 또는 필드에 맞춤 메타데이터를 허용하는 Data Catalog 태그를 배포하려면 사용 설정 전에 구성해야 합니다.
    DataMesh.deployACLs 데이터 메시 - 액세스 제어 false BigQuery 애셋에 애셋, 행 또는 열 수준 액세스 제어를 배포하려면 사용 설정 전에 구성해야 합니다.
  3. 필요에 따라 필수 워크로드를 구성합니다. 워크로드의 배포 매개변수 (예: deploySAP 또는 deployMarketing)가 False로 설정된 경우 이를 구성할 필요가 없습니다. 자세한 내용은 3단계: 통합 메커니즘 결정을 참고하세요.

배포를 더 효과적으로 맞춤설정하려면 다음 선택적 단계를 참고하세요.

보고 뷰의 성능 최적화

보고 아티팩트는 뷰로 만들거나 DAG를 통해 정기적으로 새로고침되는 테이블로 만들 수 있습니다. 뷰는 쿼리가 실행될 때마다 데이터를 계산하므로 결과가 항상 최신 상태로 유지됩니다. 반면 테이블은 계산을 한 번 실행하며 더 높은 컴퓨팅 비용을 발생시키지 않고 더 빠른 런타임을 달성하여 결과를 여러 번 쿼리할 수 있습니다. 각 고객은 필요에 따라 자체 구성을 만듭니다.

구체화된 결과가 테이블에 업데이트됩니다. 이러한 테이블에 파티션 나누기클러스터링을 추가하여 테이블을 더 세부적으로 조정할 수 있습니다.

각 워크로드의 구성 파일은 Cortex 프레임워크 데이터 파운데이션 저장소의 다음 경로에 있습니다.

데이터 소스 설정 파일
운영 - SAP src/SAP/SAP_REPORTING/reporting_settings_ecc.yaml
운영 - Salesforce Sales Cloud src/SFDC/config/reporting_settings.yaml
운영 - Oracle EBS src/oracleEBS/config/reporting_settings.yaml
마케팅 - Google Ads src/marketing/src/GoogleAds/config/reporting_settings.yaml
마케팅 - CM360 src/marketing/src/CM360/config/reporting_settings.yaml
마케팅 - Meta src/marketing/src/Meta/config/reporting_settings.yaml
마케팅 - Salesforce Marketing Cloud src/marketing/src/SFMC/config/reporting_settings.yaml
마케팅 - TikTok src/marketing/src/TikTok/config/reporting_settings.yaml
마케팅 - YouTube (DV360 포함) src/marketing/src/DV360/config/reporting_settings.yaml
마케팅 - Google 애널리틱스 4 src/marketing/src/GA4/config/reporting_settings.yaml
마케팅 - 교차 미디어 및 제품 연결 통계 src/marketing/src/CrossMedia/config/reporting_settings.yaml

보고 설정 파일 맞춤설정

reporting_settings 파일은 보고 데이터 세트의 BigQuery 객체(테이블 또는 뷰)가 생성되는 방식을 결정합니다. 다음 매개변수 설명으로 파일을 맞춤설정합니다. 이 파일에는 다음 두 섹션이 포함되어 있다고 가정해 보겠습니다.

  1. bq_independent_objects: 다른 종속 항목 없이 독립적으로 만들 수 있는 모든 BigQuery 객체입니다. Turbo mode이 사용 설정되면 이러한 BigQuery 객체가 배포 중에 병렬로 생성되어 배포 프로세스가 빨라집니다.
  2. bq_dependent_objects: 다른 BigQuery 객체에 대한 종속성으로 인해 특정 순서로 생성해야 하는 모든 BigQuery 객체입니다. Turbo mode은(는) 이 섹션에 적용되지 않습니다.

배포자는 먼저 bq_independent_objects에 나열된 모든 BigQuery 객체를 만든 다음 bq_dependent_objects에 나열된 모든 객체를 만듭니다. 각 객체에 대해 다음 속성을 정의합니다.

  1. sql_file: 지정된 객체를 만드는 SQL 파일의 이름입니다.
  2. type: BigQuery 객체의 유형입니다. 가능한 값은 다음과 같습니다.
    • view : 객체를 BigQuery 뷰로 만들려는 경우
    • table: 객체가 BigQuery 테이블인 경우
    • script: 다른 유형의 객체(예: BigQuery 함수 및 저장된 프로세스)를 만드는 데 사용됩니다.
  3. typetable으로 설정된 경우 다음 선택적 속성을 정의할 수 있습니다.
    • load_frequency: 이 테이블을 새로고침하기 위해 Composer DAG가 실행되는 빈도입니다. 가능한 값에 대한 자세한 내용은 Airflow 문서를 참고하세요.
    • partition_details: 테이블을 파티셔닝하는 방법입니다. 이 값은 선택사항입니다. 자세한 내용은 표 파티션 섹션을 참고하세요.
    • cluster_details: 테이블을 클러스터링하는 방법입니다. 이 값은 선택사항입니다. 자세한 내용은 클러스터 설정 섹션을 참고하세요.

표 파티션

특정 설정 파일을 사용하면 맞춤 클러스터링 및 파티셔닝 옵션으로 구체화된 테이블을 구성할 수 있습니다. 이렇게 하면 대규모 데이터 세트의 쿼리 성능이 크게 향상될 수 있습니다. 이 옵션은 SAP cdc_settings.yaml 및 모든 reporting_settings.yaml 파일에만 적용됩니다.

다음 partition_details를 지정하여 테이블 파티션 나누기를 사용 설정할 수 있습니다.

- base_table: vbap
  load_frequency: "@daily"
  partition_details: {
    column: "erdat", partition_type: "time", time_grain: "day" }

다음 매개변수를 사용하여 지정된 테이블의 파티셔닝 세부정보를 제어합니다.

속성 설명
column CDC 테이블이 파티셔닝되는 열입니다. 열 이름입니다.
partition_type 파티션 유형입니다. 시간 기반 파티션의 경우 "time" 자세한 내용은 타임스탬프 파티션을 나눈 테이블을 참고하세요. 정수 기반 파티션의 경우 "integer_range" 자세한 내용은 정수 범위 문서를 참고하세요.
time_grain 파티션할 시간 부분입니다. partition_type = "time"인 경우 필요합니다. "hour", "day", "month" 또는 "year"
integer_range_bucket 버킷 범위 partition_type = "integer_range"인 경우 필수 "start" = 시작 값, "end" = 종료 값, "interval = 범위 간격

옵션 및 관련 제한사항에 대한 자세한 내용은 BigQuery 테이블 파티션을 참고하세요.

클러스터 설정

cluster_details를 지정하여 테이블 클러스터링을 사용 설정할 수 있습니다.

  - base_table: vbak
    load_frequency: "@daily"
    cluster_details: {columns: ["vkorg"]}

다음 매개변수를 사용하여 특정 테이블의 클러스터 세부정보를 제어합니다.

속성 설명
columns 테이블이 클러스터링되는 열입니다. 열 이름 목록입니다. 예를 들면 "mjahr""matnr"입니다.

옵션 및 관련 제한사항에 대한 자세한 내용은 표 클러스터 문서를 참고하세요.

다음 단계

이 단계를 완료한 후 다음 배포 단계로 이동합니다.

  1. 워크로드 설정
  2. 저장소 클론
  3. 통합 메커니즘 결정
  4. 구성요소 설정
  5. 배포 구성 (이 페이지)
  6. 배포 실행