第 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 源数据集所在的项目以及 build 运行的项目。注意:只有在原始数据集为空且没有表的情况下,才会执行测试数据部署
    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 - 源数据集所在的项目以及 build 运行的项目。
    projectIdTarget 目标项目 ID - 面向用户的目标数据集。
    targetBucket 用于存储生成的 DAG 脚本的目标存储分区 - 之前创建的用于生成 DAG(和 Dataflow 临时文件)的存储分区。 避免使用实际的 Airflow 存储桶。
    location 位置或区域 "US" BigQuery 数据集和 Cloud Storage 存储分区所在的位置。

    请参阅 BigQuery 数据集位置下列出的限制。

    testDataProject 自动化测试框架的来源 kittycorn-public 演示部署的测试数据源。当 testDatatrue 时适用。

    除非您有自己的测试框架,否则请勿更改此值。

    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 部署允许在 BigQuery 资产或字段上使用自定义元数据的 Data Catalog 标记,需要在启用之前进行配置。
    DataMesh.deployACLs 数据网格 - 访问权限控制 false 在 BigQuery 资产上部署资产级、行级或列级访问权限控制,需要在启用前进行配置。
  3. 根据需要配置所需的工作负载。如果工作负载的部署参数(例如 deploySAPdeployMarketing)设置为 False,则无需配置这些参数。如需了解详情,请参阅第 3 步:确定集成机制

如需更好地自定义部署,请参阅以下可选步骤

针对报告视图的性能优化

报告制品可以创建为视图,也可以创建为通过 DAG 定期刷新的表。一方面,视图会在每次执行查询时计算数据,从而始终保持结果新鲜。另一方面,该表只需运行一次计算,即可多次查询结果,而不会产生更高的计算费用,并且可以实现更快的运行时。每位客户都可以根据自己的需求创建配置。

具体化结果会更新到表中。通过向这些表添加分区聚簇,可以进一步微调这些表。

每个工作负载的配置文件都位于 Cortex Framework Data Foundation 代码库中的以下路径中:

数据源 设置文件
运营 - SAP src/SAP/SAP_REPORTING/reporting_settings_ecc.yaml
运营 - Salesforce Sales Cloud src/SFDC/config/reporting_settings.yaml
运营 - 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. 执行部署