5단계: 배포 구성
이 페이지에서는 Cortex Framework의 핵심인 Cortex Framework Data Foundation을 배포하는 다섯 번째 단계를 설명합니다. 이 단계에서는 Cortex Framework Data Foundation 저장소의 구성 파일을 요구사항에 맞게 수정합니다.
구성 파일
배포 동작은 Cortex Framework Data Foundation의 구성 파일 config.json
에 의해 제어됩니다. 이 파일에는 전역 구성, 각 워크로드에 대한 특정 구성이 포함되어 있습니다.
다음 단계에 따라 필요에 맞게 config.json 파일을 수정합니다.
- Cloud Shell에서
config.json파일을 엽니다. 다음 매개변수에 따라
<td"> 매개변수 <td"> 의미 <td"> 기본값 <td"> 설명 </td"></td"></td"></td"><td">config.json파일을 수정합니다.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">데모 배포를 위한 테스트 데이터의 소스입니다.testData가true일 때 적용됩니다.자체 테스트 하네스가 없는 한 이 값을 변경하지 마세요.
</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">필요에 따라 필요한 워크로드를 구성합니다. 워크로드의 배포 매개변수 (예:
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 객체(테이블 또는 뷰)가 생성되는 방식을 결정합니다. 다음 매개변수 설명을 사용하여 파일을 맞춤설정합니다. 이 파일에는 두 섹션이 포함되어 있습니다.
bq_independent_objects: 다른 종속 항목 없이 독립적으로 만들 수 있는 모든 BigQuery 객체입니다.Turbo mode가 사용 설정되면 이러한 BigQuery 객체 가 배포 중에 병렬로 생성되어 배포 프로세스의 속도 가 빨라집니다.bq_dependent_objects: 다른 BigQuery 객체에 대한 종속 항목으로 인해 특정 순서로 만들어야 하는 모든 BigQuery 객체입니다.Turbo mode이 섹션에 적용되지 않습니다.
배포자는 먼저 bq_independent_objects에 나열된 모든 BigQuery 객체를 만든 다음 bq_dependent_objects에 나열된 모든 객체를 만듭니다. 각 객체에 대해 다음 속성을 정의합니다.
sql_file: 지정된 객체를 만드는 SQL 파일의 이름입니다.type: BigQuery 객체의 유형입니다. 가능한 값은 다음과 같습니다.view: 객체를 BigQuery 뷰로 만들려는 경우입니다.table: 객체를 BigQuery 테이블로 만들려는 경우입니다.script: 다른 유형의 객체(예: BigQuery 함수 및 저장된 프로세스)를 만드는 데 사용됩니다.
type이table로 설정된 경우 다음 선택적 속성을 정의할 수 있습니다.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">옵션 및 관련 제한사항에 대한 자세한 내용은 테이블 클러스터 문서를 참고하세요.
다음 단계
이 단계를 완료한 후 다음 배포 단계로 이동합니다.
- 워크로드를 설정합니다.
- 저장소를 클론합니다.
- 통합 메커니즘을 결정합니다.
- 구성요소를 설정합니다.
- 배포를 구성합니다 (이 페이지).
- 배포를 실행합니다.