步驟 5:設定部署作業

本頁說明部署 Cortex Framework 資料基礎的第五個步驟,這是 Cortex Framework 的核心。在這個步驟中,您會修改 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 工作負載的部署作業。
    enableTaskDependencies 依附於工作的 DAG false 啟用工作相關 DAG,系統就會在單一 DAG 中,根據依附元件順序執行支援的 SQL 資料表。詳情請參閱「以工作為依附元件的 DAG」。
    turboMode 加速模式部署。 true 在同一個 Cloud Build 程序中,以步驟形式執行所有檢視區塊建構作業,並行部署,加快部署速度。如果設為 false,每個報表檢視畫面都會在自己的連續建構步驟中產生。建議您只在測試資料或解決報表欄與來源資料不符的問題後,才將此值設為 true
    projectIdSource 來源專案 ID - 來源資料集所在的專案,以及建構作業的執行位置。
    projectIdTarget 目標專案 ID - 使用者面向資料集的目標專案。
    targetBucket 儲存產生的 DAG 指令碼的目標 Bucket - 先前建立的 Bucket,用於產生 DAG (和 Dataflow 暫時檔案)。請勿使用實際的 Airflow 值區。
    location 地點或區域 "US" BigQuery 資料集和 Cloud Storage bucket 所在的位置。

    請參閱「BigQuery 資料集位置」一節列出的限制。

    testDataProject 測試控管工具的來源 kittycorn-public 用於展示部署作業的測試資料來源。當 testDatatrue 時適用。

    除非您有自己的測試架構,否則請勿變更這個值。

    k9.datasets.processing K9 資料集 - 處理中 "K9_PROCESSING" 執行 K9 設定檔中定義的跨工作負載範本 (例如日期維度)。下游工作負載通常需要這些範本。
    k9.datasets.reporting K9 資料集 - 報表 "K9_REPORTING" 執行 K9 設定檔中定義的跨工作負載範本和外部資料來源 (例如天氣)。預設為註解。
  3. 視需要設定所需的工作負載。如果工作負載的部署參數 (例如 deploySAPdeployMarketing) 設為 False,就不需要設定這些參數。詳情請參閱「步驟 3:決定整合機制」。

如要進一步自訂部署作業,請參閱下列選用步驟

報表檢視畫面的效能最佳化

您可以建立報表構件做為檢視區塊,或是透過 DAG 定期重新整理的資料表。一方面,檢視區塊會在每次執行查詢時計算資料,確保結果一律是最新狀態。另一方面,資料表只會執行一次計算,且可多次查詢結果,不會產生更高的運算成本,執行時間也更快。每位顧客可根據自身需求建立專屬設定。

具體化結果會更新至資料表。您可以在這些資料表中新增「分區」和「叢集」,進一步微調這些資料表。

每個工作負載的設定檔都位於 Cortex Framework Data Foundation 存放區的下列路徑中:

資料來源 設定檔
Operational - SAP src/SAP/SAP_REPORTING/reporting_settings_ecc.yaml
作業 - Salesforce Sales Cloud src/SFDC/config/reporting_settings.yaml
Operational - 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 Analytics 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. 如果 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" }

使用下列參數控管特定資料表的分區詳細資料:

屬性 說明
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. 執行部署作業