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 파일을 수정합니다.

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

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

    </td"></td"></td"></td"><td">testDataProject <td">테스트 하네스의 소스 <td">kittycorn-public <td">데모 배포를 위한 테스트 데이터의 소스입니다. testDatatrue일 때 적용됩니다.

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

    </td"></td"></td"></td"><td">k9.datasets.processing <td">K9 데이터 세트 - 처리 <td">"K9_PROCESSING" <td">교차 워크로드 템플릿 실행 (예: 날짜 측정기준) K9 구성 파일에 정의된 대로. 이러한 템플릿은 일반적으로 다운스트림 워크로드에 필요합니다. </td"></td"></td"></td"><td">k9.datasets.reporting <td">K9 데이터 세트 - 보고 <td">"K9_REPORTING" <td">교차 워크로드 템플릿 및 외부 데이터 소스 (예: 날씨)를 K9 구성 파일에 정의된 대로 실행합니다. 기본적으로 주석 처리됩니다. </td"></td"></td"></td">
  3. 필요에 따라 필요한 워크로드를 구성합니다. 워크로드의 배포 매개변수 (예: deploySAP 또는 deployMarketing)가 False로 설정된 경우 구성할 필요가 없습니다. 자세한 내용은 3단계: 통합 메커니즘 결정을 참고하세요.

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

보고 뷰의 성능 최적화

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

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

각 워크로드의 구성 파일은 Cortex Framework Data Foundation 저장소 내의 다음 경로에 있습니다.

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

보고 설정 파일 맞춤설정

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" }

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

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

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

클러스터 설정

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

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

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

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

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

다음 단계

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

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