步驟 5:設定部署作業
本頁說明部署 Cortex Framework 資料基礎的第五個步驟,這是 Cortex Framework 的核心。在這個步驟中,您會修改 Cortex Framework Data Foundation 存放區中的設定檔,以符合您的需求。
設定檔
部署作業的行為是由 Cortex Framework Data Foundation 中的設定檔 config.json 控制。這個檔案包含全域設定,以及各項工作負載的特定設定。按照下列步驟,視需要編輯 config.json 檔案:
- 從 Cloud Shell 開啟
config.json檔案。 根據下列參數編輯
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執行 Data Mesh 的部署作業。 詳情請參閱「資料網格使用者指南」。 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 值區所在位置。 請參閱「BigQuery 資料集位置」一節列出的限制。
testDataProject測試控管工具的來源 kittycorn-public示範部署的測試資料來源。當 testData為true時適用。除非您有自己的測試架構,否則請勿變更這個值。
k9.datasets.processingK9 資料集 - 處理中 "K9_PROCESSING"執行 K9 設定檔中定義的跨工作負載範本 (例如日期維度)。下游工作負載通常需要這些範本。 k9.datasets.reportingK9 資料集 - 報表 "K9_REPORTING"執行 K9 設定檔中定義的跨工作負載範本和外部資料來源 (例如:天氣)。預設為註解。 DataMesh.deployDescriptions資料網格 - 資產說明 true部署 BigQuery 資產結構定義說明。 DataMesh.deployLakes資料網格 - 湖泊和區域 false部署 Dataplex Universal Catalog 湖泊和區域,依處理層整理資料表,啟用前須先完成設定。 DataMesh.deployCatalog資料網格 - 目錄標記和範本 false部署 Data Catalog 標記,允許 BigQuery 資產或欄位使用自訂中繼資料,啟用前需要設定。 DataMesh.deployACLs資料網格 - 存取權控管 false在 BigQuery 資產上部署資產、資料列或資料欄層級的存取權控管,啟用前需要先進行設定。 視需要設定所需的工作負載。如果工作負載的部署參數 (例如
deploySAP或deployMarketing) 設為False,就不需要設定這些參數。詳情請參閱「步驟 3:決定整合機制」。
如要進一步自訂部署作業,請參閱下列選用步驟:
報表檢視畫面的效能最佳化
您可以建立報表構件做為檢視區塊,或透過 DAG 定期重新整理資料表。一方面,檢視區塊會在每次執行查詢時計算資料,因此結果一律是最新狀態。另一方面,資料表只會執行一次計算,且可多次查詢結果,不會產生更高的運算成本,執行時間也更快。每位顧客可根據自身需求建立專屬設定。
系統會將具體化結果更新至資料表。您可以在這些資料表中新增分區和叢集,進一步微調資料表。
每個工作負載的設定檔都位於 Cortex Framework Data Foundation 存放區的下列路徑中:
| 資料來源 | 設定檔 |
| Operational - SAP | src/SAP/SAP_REPORTING/reporting_settings_ecc.yaml
|
| Operational - 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 物件 (資料表或檢視區塊)。使用下列參數說明自訂檔案。請注意,這個檔案包含兩個部分:
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" }
使用下列參數控管特定資料表的分區詳細資料:
| 屬性 | 說明 | 值 |
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"。 |
如要進一步瞭解選項和相關限制,請參閱資料表叢集說明文件。
後續步驟
完成這個步驟後,請繼續執行下列部署步驟: