步驟 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.processing
K9 資料集 - 處理中 "K9_PROCESSING"
執行 K9 設定檔中定義的跨工作負載範本 (例如日期維度)。下游工作負載通常需要這些範本。 k9.datasets.reporting
K9 資料集 - 報表 "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" 。 |
如要進一步瞭解選項和相關限制,請參閱資料表叢集說明文件。
後續步驟
完成這個步驟後,請繼續執行下列部署步驟: