デプロイ構成
このドキュメントでは、次の領域における Cortex Framework のデプロイ構成オプションについて説明します。
- デプロイ構成(
config/config.yaml): グローバル変数、ビルド環境、モジュール マッピング(データ基盤とデータ プロダクトのターゲット)を定義します。 - テーブル構成(
table_settings.yaml): モジュール固有のパフォーマンスとスキーマの仕様。BigQuery でベーステーブルがコンパイルされ、適合される方法を概説します。
このガイドでは、一般的なデプロイのユースケースとシナリオの手順を説明するハウツーガイドも提供しています。
構成ファイル: config/config.yaml
config/config.yaml ファイル(通常は config/config.yaml.example テンプレートから初期化)は、Cortex Framework デプロイの主要な構成として機能します。これには、ターゲットの Google Cloud 実行プロジェクト、ソースと宛先の BigQuery データセット、リポジトリ名やワークスペース名などの Dataform 仕様など、重要なパラメータが定義されています。
以降のセクションでは、config/config.yaml 構造の詳細な内訳について説明します。
ビルド環境
ビルド環境プロジェクトは、BigQuery ジョブ(DD03L の読み取りなど)などのビルド アクションに対して課金されるプロジェクトです。
buildEnvironment:
buildProjectId: YOUR_BUILD_PROJECT_ID
次の表に、ビルド環境パラメータを示します。
| パラメータ | 意味 | デフォルト値 | 説明 |
|---|---|---|---|
buildEnvironment.buildProjectId |
ビルド プロジェクト ID | YOUR_BUILD_PROJECT_ID |
Google Cloud : ビルド オペレーションが実行されるプロジェクト ID。 |
[データ] セクションの概要
構成ファイルの data: セクションでは、データソース、ターゲット、データ基盤とデータ プロダクトの特定のモジュールを定義します。一般的な構造は次のとおりです。
data:
# Geographic location for BigQuery datasets (for example: US, EU, us-central1)
# For full list see: https://docs.cloud.google.com/cortex/docs/supported-locations
bigQueryLocation: US
# List of namespaces for data foundation and product modules.
namespaces:
- name: cortex
path: cortex
# List of source datasets.
sources:
- ...
# List of target datasets.
targets:
- ...
# Configuration for data foundation and product modules.
modules:
# List of foundation modules.
foundation:
- ...
# List of data product modules.
product:
- ...
データ: BigQuery のロケーション
BigQuery のソース データセットとターゲット データセットのロケーションを定義します。
| パラメータ | 意味 | デフォルト値 | 説明 |
|---|---|---|---|
data.bigQueryLocation |
BigQuery のロケーション | US |
BigQuery データセットのロケーション(US、us-central1、europe-west1 など)。 |
データ: Cortex 名前空間
Cortex Framework 名前空間を定義します。
| パラメータ | 意味 | デフォルト値 | 説明 |
|---|---|---|---|
data.namespaces.name |
Namespace の名前 | - | Cortex Framework の Namespace 名。例: cortex |
data.namespaces.path |
名前空間パス | - | src フォルダと config フォルダ内で使用されるサブディレクトリの Cortex Framework Namespace パス。例: cortex |
データ: BigQuery のソースとターゲットのデータセット
ソースのリストは、ソースシステムの元データが複製またはストリーミングされた BigQuery データセットを定義します。
ターゲットは、Dataform で処理されたデータセットが保存される BigQuery データセットのリストを定義します。
移行元と移行先は、一意の ID を使用してモジュールから参照されます。
# Data source and target mapping
sources:
- id: sap_raw
projectId: YOUR_SOURCE_PROJECT_ID
datasetId: cortex_sap_raw
targets:
- id: sap_foundation
projectId: YOUR_TARGET_PROJECT_ID
datasetId: cortex7_sap_data_foundation
次の表に、データソースとターゲットのマッピング パラメータを示します。
| パラメータ | 意味 | デフォルト値 | 説明 |
|---|---|---|---|
data.sources.id |
ソース ID | - |
データを取得するソース データセットの「id」を定義します。例: sap_raw |
data.sources.projectId |
ソース プロジェクト ID | YOUR_SOURCE_PROJECT_ID |
ソースデータを含む Google Cloud プロジェクト ID を参照します。 |
data.sources.datasetId |
ソース BigQuery データセット ID | - |
ソースデータを含む BigQuery データセット ID を参照します。例: cortex_sap_raw |
data.targets.id |
ターゲット ID | - | ターゲット データセットの「id」を定義します。例: sap_foundation |
data.targets.projectId |
ターゲット プロジェクト ID | YOUR_TARGET_PROJECT_ID |
ターゲット データの Google Cloud プロジェクト ID を参照します。 |
data.targets.datasetId |
ターゲット BigQuery データセット ID | - |
ターゲット データの BigQuery データセット ID を参照します。例: cortex7_sap_data_foundation |
データ: モジュール
モジュールは、Dataform データ パイプラインの構造とコンポーネントを定義します。
データ: モジュール: 基盤
このセクションでは、未加工レイヤ(CDC ストリーム)からソースデータの標準化された最新のレコード表現にデータを処理するデータ基盤レイヤ モジュールを構成します。ソースが最新のレコードのビューを直接提供する場合、またはそのような変換がソースシステムのコネクタによって実行される場合、モジュールは外部データ基盤ソースとして構成できます。
modules:
# List of foundation modules.
foundation:
# Unique identifier for the module instance.
- moduleId: erp
# Type of the module (namespaced, for example, cortex.sap).
type: cortex.sap
# Reference to the source dataset ID.
dataSourceId: sap_raw
# Reference to the target dataset ID.
dataTargetId: sap_foundation
# Module-specific configuration settings.
moduleSettings:
# SAP version (for example, ecc, s4).
sapVersion: ecc
# SAP client number.
mandt: "100"
# Whether the module is enabled.
# enabled: true
# Whether the foundation is external (does not create target dataset).
# external: false
# Path to the table settings configuration file.
# tableSettings: "custom_table_settings.yaml"
次の表に、modules.foundation 構成のデータ基盤モジュールのパラメータを示します。
| パラメータ | 意味 | デフォルト値 | 説明 |
|---|---|---|---|
moduleId |
モジュール ID | erp |
特定のデータ基盤変換モジュール インスタンスの一意の識別子。 |
type |
モジュール ロジック タイプ | cortex.sap |
適用されるビジネス ロジックまたはテンプレート(cortex.sap など)を定義します。 |
dataSourceId |
ソースリンク | sap_raw |
data.sources リストの「id」を参照して、データを取得します。 |
dataTargetId |
ターゲット リンク | sap_foundation |
データを push するターゲット リストの「id」を参照します。 |
moduleSettings.sapVersion |
SAP システムのバージョン | ecc |
SAP データソースにのみ適用されます。ecc(ECC)または s4(S/4HANA)システムのソース固有のロジックを決定します。 |
moduleSettings.mandt |
SAP クライアント(Mandant) | 100 |
SAP データソースにのみ適用されます。データ行のフィルタリングに使用される 3 桁の SAP クライアント ID。 |
enabled |
モジュールの有効化 | true |
モジュールが有効かどうかを指定します。 |
external |
外部基盤 | false |
基盤が外部にあるかどうかを指定します(ターゲット データセットは作成されません)。 |
tableSettings |
テーブルの設定 | data_modules/cortex/data_foundation/sap/mytable_settings.yaml |
この構成ファイルに対するカスタムのテーブル設定構成ファイルのパス。 |
データ: モジュール: 商品
データ プロダクト モジュールは、特定のビジネス ユースケースを満たす分析情報に未加工データを変換するために必要な集計、計算、結合を定義します。
データ プロダクトの構成では、一意の ID の設定、依存関係の定義、結果が保存されるデータ基盤モジュールとターゲット データセットの参照を行うことができます。
指定されたデータプロダクトの詳細な構成は、キー tableSettings で参照されるファイル内で定義されます。
modules:
# List of data product modules.
product:
# Unique identifier for the data product instance.
- moduleId: sap_purchasing_organizational_structure
# Type of the data product (namespaced).
type: cortex.purchasing_organizational_structure
# Map of module dependencies.
dependsOn:
sapModule: erp
# Reference to the target dataset ID.
dataTargetId: product_target
# Whether the module is enabled.
# enabled: true
# Path to the table settings configuration file.
# tableSettings: "custom_table_settings.yaml"
次の表に、modules.product 構成のデータ プロダクト モジュール パラメータを示します。
| パラメータ | 意味 | デフォルト値 | 説明 |
|---|---|---|---|
moduleId |
モジュール ID | - | 特定の変換モジュール インスタンスの一意の識別子。 |
type |
モジュール ロジック タイプ | - | 適用されるビジネス ロジックまたはテンプレートを定義します。これは src/data_modules/{namespace}/data_product フォルダで定義されます。 |
dataTargetId |
ターゲット リンク | product_target |
データを push するターゲット リストの「id」を参照します。 |
dependsOn |
アップストリームの依存関係 | sapModule: erp |
プロダクト モジュールをビルドする前に存在する必要がある基盤モジュールを指定します。 |
enabled |
モジュールの有効化 | true |
モジュールが有効かどうかを指定します。 |
tableSettings |
テーブルの設定 | src/data_modules/{namespace}/data_product/{product_name}/table_settings.default.yaml |
この構成ファイルに対するカスタムのテーブル設定構成ファイルのパス。 |
デプロイ環境
Cortex Framework は、Dataform を使用して BigQuery 内の SQL 変換をオーケストレートします。deployment: ブロックは、リポジトリ プロジェクト、ロケーション、リポジトリ名、Dataform ワークスペース名など、データ パイプラインの実行を担当する Dataform 構成を定義します。
deployment:
targets:
- type: dataform
enabled: true
targetSettings:
repositoryProjectId: YOUR_REPO_PROJECT_ID
repositoryRegion: us-central1
repositoryName: cortex-repository
workspaceName: dev
# serviceAccount: "example@example.com"
次の表に、デプロイ ターゲットのロケーション パラメータ(deployment.targets:)を示します。
| パラメータ | 意味 | デフォルト値 | 説明 |
|---|---|---|---|
type |
デプロイタイプ | dataform |
デプロイ ターゲットのタイプ。 |
enabled |
有効/ 無効 | true |
指定されたデプロイ ターゲットが有効か無効かを指定します。 |
targetSettings.repositoryProjectId |
リポジトリ プロジェクト ID | YOUR_REPO_PROJECT_ID |
Dataform リポジトリが管理されている Google Cloud プロジェクト ID。 |
targetSettings.repositoryRegion |
リポジトリ リージョン | us-central1 |
Dataform リポジトリの Google Cloud リージョン(us-central1 や europe-west1 など)。 |
targetSettings.repositoryName |
リポジトリ名 | cortex-repository |
Dataform リポジトリの固有の名前。 |
targetSettings.workspaceName |
ワークスペース名 | dev |
デプロイ サイクルで使用される特定の Dataform ワークスペース。 |
targetSettings.serviceAccount |
サービス アカウントのメールアドレス | - |
Dataform リポジトリの実行に使用されるデフォルトのサービス アカウントのメールアドレス。 |
構成ファイル: table_settings.yaml
このガイドでは、table_settings.yaml ファイルを使用して Google Cloud Cortex Framework のデータ基盤テーブルとデータ プロダクト テーブルを構成する方法について説明します。
データ モジュール固有の table_settings.yaml ファイルは、元となるソーステーブルがどのように準拠し、分析データモデルが BigQuery 内でどのように具体化されるかを制御します。このファイルを使用して、タグ、マテリアライズ戦略、パーティショニングやクラスタリングなどの高度な BigQuery パフォーマンス機能を構成できます。
動的依存関係の解決
デフォルトでは、Cortex Framework は、有効なデータ プロダクトの依存関係として必要な基盤テーブルのみをデプロイしてコンパイルすることで、デプロイ フットプリントと実行時間を最適化します。table_settings.yaml で構成されたテーブルに、そのテーブルに依存するアクティブなダウンストリーム データプロダクトがない場合、そのテーブルはデプロイから除外されます。
この最適化をオーバーライドして基盤テーブルのデプロイを強制するには、deployAlways 属性を true に設定します(データ基盤スタイル パラメータのリファレンスをご覧ください)。
Google Cloud Cortex Framework では、各モジュール(基盤またはプロダクト)に、デプロイ構成ファイル(config/config.yaml)で tableSettings プロパティを使用して特定のテーブル設定ファイルを割り当てることができます。
構成パス
- カスタム設定(推奨): テーブルの動作をカスタマイズするには、デフォルトのファイルを構成ディレクトリにコピーして変更し、
config/config.yamlでそのパスを参照します。推奨されるパスは次のとおりです。- 基盤モジュール:
config/namespace_path/data_foundation/foundation_module_id/table_settings.yaml(例:config/cortex/data_foundation/sap/table_settings.yaml) - プロダクト モジュール:
config/namespace_path/data_product/product_module_id/table_settings.yaml(config/cortex/data_product/accounting_documents/table_settings.yamlなど)
- 基盤モジュール:
- デフォルトのフォールバック:
tableSettingsが省略されている場合、フレームワークは自動的に次のフォールバックを行います。- 基盤モジュール:
definitions/data_foundation/namespace_path/table_settings.default.yaml - プロダクト モジュール:
definitions/data_product/product_module_id/table_settings.default.yaml
- 基盤モジュール:
構成スタイル
モジュールのカテゴリに応じて、table_settings.yaml には 2 つの異なるスキーマ スタイルがあります。
- データ基盤スタイル: ソースからターゲットへのスキーマ関係、CDC(変更データ キャプチャ)処理、BigQuery レイアウトを定義するリストベースのマッピング。
- データ プロダクトのスタイル: 分析ビューまたはテーブルがマテリアライズ(ビュー、テーブル、増分テーブルなど)され、最適化される方法を定義するマップベースのマッピング(辞書)。
どちらのスタイルも、ソース システム バージョン別に構成を分離するための 3 つのルートレベル セクションをサポートしています(主に SAP Data Foundation と SAP 依存のプロダクトで使用されます)。
ecc: SAP ECC ソースシステムをデプロイするときにのみ適用される設定。s4: SAP S/4HANA ソースシステムのデプロイ時にのみ適用される設定。common: SAP バージョンに関係なく適用される設定(準拠設定またはユニバーサル設定に使用)。
データ基盤のスタイル
Data Foundation モジュールでは、table_settings.yaml ファイルは ecc、s4、common キーの下のテーブル項目のリストとして構造化されています。各項目は、未加工のソーステーブルを準拠したターゲット テーブルにマッピングし、その BigQuery 設定を構成します。
YAML 構文の例
common:
- source:
tableName: bkpf
isCdc: true
target:
tableName: bkpf # Optional: defaults to source tableName if omitted
tags: [sap, common, finance, hourly]
clusterDetails:
columns: [bukrs, gjahr]
partitionDetails:
column: budat
partitionType: time
timeGrain: day
deployAlways: false
パラメータ リファレンス
| パラメータ | タイプ | 必須 | デフォルト / 例 | 説明 |
|---|---|---|---|---|
ecc | s4 | common |
string |
× | [] |
ソースシステムのバージョンまたは言語。 |
[].deployAlways |
boolean |
× | false |
true の場合、最適化ルールでスキップされる可能性がある場合でも、テーブルは常にデプロイされてビルドされます。動的依存関係の解決もご覧ください。 |
ソース設定
未加工のインバウンド テーブルの特性を定義します。
| パラメータ | タイプ | 必須 | デフォルト / 例 | 説明 |
|---|---|---|---|---|
tableName |
string |
はい | bkpf |
BigQuery の未加工のソーステーブルの名前(大文字と小文字は区別されません)。 |
isCdc |
boolean |
× | true |
ソーステーブルに変更データ キャプチャ(CDC)ログが含まれているかどうかを示します。 • • |
ターゲット設定
ターゲット データセットの出力準拠テーブル レイアウトを定義します。
| パラメータ | タイプ | 必須 | デフォルト / 例 | 説明 |
|---|---|---|---|---|
tableName |
string |
× | *(ソースと同じ)* | 作成するターゲットの準拠テーブルの名前。省略した場合、フレームワークはデフォルトでソース tableName になります。 |
tags |
array[string] |
× | [sap, finance] |
Dataform の準拠アクションに適用されたメタデータタグのリスト。これらは任意の文字列であり、事前登録や他の構成での定義は必要ありません。パイプライン実行のフィルタリング(dataform run --tags ... の使用など)にすぐに使用できます。 |
clusterDetails |
map |
× | — | 省略可。BigQuery クラスタリングの構成。クラスタリングの詳細をご覧ください。 |
partitionDetails |
map |
× | — | 省略可。BigQuery のパーティショニング構成。パーティショニングの詳細をご覧ください。 |
データ プロダクトのスタイル
データ プロダクト モジュールでは、table_settings.yaml ファイルは ecc、s4、common キーの下のディクショナリ(マップ)として構造化されています。辞書のキーは分析テーブルまたはビューの名前を表し、値はマテリアライズとパフォーマンスの設定を定義します。
YAML 構文の例
s4:
customers:
materializationType: incremental
tags: [sap, dataproduct, masterdata]
clusterDetails:
columns: [mandt, ktokd]
パラメータ リファレンス
| パラメータ | タイプ | 必須 | デフォルト / 例 | 説明 |
|---|---|---|---|---|
ecc | s4 | common |
map |
× | {} |
ターゲット分析アセット(テーブルまたはビュー)とその構成のマッピング。 |
[table_name].materializationType |
string |
× | incremental |
BigQuery で分析アセットがどのように構築されるか。 使用できる値:
|
[table_name].tags |
array[string] |
× | [sap, dataproduct] |
Dataform の分析アセットに付加されたメタデータタグ。これらは任意の文字列であり、事前登録する必要はありません。選択的なパイプライン実行にすぐに使用できます。 |
[table_name].clusterDetails |
map |
× | — | 省略可。BigQuery クラスタリングの構成。クラスタリングの詳細をご覧ください。 |
[table_name].partitionDetails |
map |
× | — | 省略可。BigQuery のパーティショニング構成。パーティショニングの詳細をご覧ください。 |
BigQuery の高度な構成
どちらのスタイルも、クラスタリングとパーティショニングを使用して BigQuery のストレージとクエリのパフォーマンスを最適化する同じ構造を共有しています。
クラスタリングの詳細
クラスタリングでは、特定の列の値に基づいてデータが配置されます。BigQuery は、これらの列を使用して各ストレージ ブロック内のデータを並べ替えます。これにより、これらの列でフィルタリング(WHERE)または結合(JOIN)するクエリが大幅に高速化されます。
clusterDetails:
columns: [bukrs, gjahr]
パラメータ リファレンス
| パラメータ | タイプ | 必須 | 例 | 説明 |
|---|---|---|---|---|
columns |
array[string] |
はい | [bukrs, gjahr] |
テーブルをクラスタ化する最大 4 つの列名の順序付きリスト。 制約: 列は英数字で、アンダースコアのみを含める必要があります。リスト内の列の順序によって、並べ替えの階層が決まります。 |
パーティショニングの詳細
パーティショニングでは、日付列、タイムスタンプ列、または整数列の値に基づいて、大きなテーブルを小さな物理セグメントに分割します。これにより、クエリで特定の日付、月、ID の範囲のみがリクエストされた場合に、BigQuery がテーブル全体をスキャンすることを防ぐことができます。
partitionDetails:
column: budat
partitionType: time
timeGrain: day
パラメータ リファレンス
| パラメータ | タイプ | 必須 | 例 | 説明 |
|---|---|---|---|---|
column |
string |
はい | budat |
テーブルのパーティショニングに使用される列名。英数字とアンダースコアのみを使用してください。列の型は partitionType と一致している必要があります。 |
partitionType |
string |
はい | time |
パーティショニング戦略。 使用できる値:
|
timeGrain |
string |
× | day |
partitionType が time または DATE の場合は必須です。時間パーティションの粒度を定義します。使用できる値: |
rangeStart |
integer |
× | 1 |
partitionType が integer の場合は必須。最初のパーティションの開始値(この値を含む)。 |
rangeEnd |
integer |
× | 1000 |
partitionType が integer の場合は必須。最後のパーティションの終了値(この値を含まない)。 |
rangeInterval |
integer |
× | 10 |
partitionType が integer の場合は必須。各パーティション間隔の幅。 |
例
次の例は、データ基盤モジュールとデータ プロダクト モジュールの両方の構成テンプレートを示しています。ターゲット テーブルのカスタマイズ方法、BigQuery でのストレージ レイアウトの最適化方法、マテリアライズ タイプの設定方法について説明します。
1. カスタム データ基盤テーブルの設定の例
この例では、標準データテーブルとともに、クラスタ化されたパーティション分割されたトランザクション テーブル(bseg や ekbe など)を含む基盤レイヤを構成する方法を示します。
# ==============================================================================
# S/4HANA-Specific Tables
# ==============================================================================
s4:
# ACDOCA is a massive table in S/4HANA; clustering is vital
- source:
tableName: acdoca
target:
tags: [sap, s4, finance, transactional, hourly]
clusterDetails:
columns: [rclnt, rbukrs, gjahr]
# ==============================================================================
# ECC-Specific Tables
# ==============================================================================
ecc:
- source:
tableName: faglflexa
target:
tags: [sap, ecc, finance, transactional, hourly]
# ==============================================================================
# Common Tables (ECC & S/4HANA)
# ==============================================================================
common:
# Financial document header (partitioned by posting date)
- source:
tableName: bkpf
isCdc: true
target:
tags: [sap, common, finance, hourly]
clusterDetails:
columns: [bukrs, gjahr]
partitionDetails:
column: budat
partitionType: time
timeGrain: day
# Purchasing document items (partitioned by creation date)
- source:
tableName: ekpo
target:
tags: [sap, common, logistics, purchasing, hourly]
clusterDetails:
columns: [mandt, ebeln]
partitionDetails:
column: aedat
partitionType: time
timeGrain: month
# Standard master data table (no partitioning/clustering needed)
- source:
tableName: lfa1
target:
tags: [sap, common, masterdata, vendor, daily]
2. カスタム データ プロダクト テーブル設定の例
この例では、ダウンストリームの分析データ プロダクトのマテリアライズ タイプを構成する方法を示します。ビルドのパフォーマンスを最適化して費用を節約するために、トランザクション sales_documents を増分として設定します。一方、customers などの非トランザクション データテーブルは標準テーブルとしてビルドされます。
# settings applied for both ECC and S/4HANA pipelines
common:
# Transactional data product - incremental build
sales_documents:
materializationType: incremental
tags: [sap, dataproduct, sales, transactional]
clusterDetails:
columns: [vkorg, vbeln]
partitionDetails:
column: audat
partitionType: time
timeGrain: day
# Master data product - full table rebuild
customers:
materializationType: table
tags: [sap, dataproduct, masterdata]
clusterDetails:
columns: [mandt, ktokd]
# Aggregated reporting view - virtual view
sales_performance_summary:
materializationType: view
tags: [sap, dataproduct, sales, reporting]
入門ガイド
このセクションでは、一般的な構成タスクとカスタム デプロイ シナリオの手順ガイドを提供します。
データ基盤モジュールでテーブル スコープをカスタマイズする
新しいモジュールを作成したり、個別のパイプライン インスタンスを実行したりせずに、既存のデータ基盤モジュール内のテーブルを追加または削除するには:
- デフォルトの
table_settings.default.yaml構成をワークスペース構成ディレクトリ(config/cortex/data_foundation/sap/table_settings.yamlなど)にコピーします。 - 新しいファイルで、必要に応じて
ecc、s4、commonキーの下にカスタム テーブルを追加するか、使用されていない標準テーブルを削除します。
common:
- source:
tableName: custom_table_name
target:
tags: [custom_tag]
config/config.yamlを更新して、モジュールのtableSettingsプロパティでカスタム テーブル設定のパスを参照します。
data:
modules:
foundation:
- moduleId: erp
type: cortex.sap
# Link to the custom table settings file:
tableSettings: config/cortex/data_foundation/sap/table_settings.yaml
データ基盤モジュールの複数のインスタンスを構成する
同じモジュール タイプの 2 つ以上の個別のパイプライン インスタンスをデプロイするには(たとえば、複数の SAP インスタンスをサポートして、テーブルのセグメント化、環境の分離、異なるターゲット データセットのターゲット設定を行う場合):
始める前に:
* ソーステーブルがソースの元データセットに存在することを確認します。* ターゲット データセットのスキーマが構成されていることを確認します。* SAP データ基盤モジュールを使用する場合は、メタデータ テーブル DD03L に、取り込むカスタム テーブルの列と記述子情報が含まれていることを確認します。詳細については、SAP ERP の要件をご覧ください。
手順:
config/config.yamlファイルで、data.targetsの下にターゲット構成を追加して、各パイプライン インスタンスのターゲット データセットを定義します。
data:
targets:
- id: data_foundation_core
projectId: target_project_id
datasetId: data_foundation_sap_core
- id: data_foundation_custom
projectId: target_project_id
datasetId: data_foundation_sap_custom
data.modules.foundationリストでモジュールの複数のインスタンスを定義します。各インスタンスに一意のmoduleId、独自のターゲット データセット ID、必要に応じてtableSettings構成を指定します。
data:
modules:
foundation:
# Core SAP ERP foundation module instance
- moduleId: erp_core
type: cortex.sap
dataSourceId: sap_raw
dataTargetId: data_foundation_core
tableSettings: "cortex-framework-core/src/data_modules/cortex/data_foundation/sap/table_settings.default.yaml"
# Custom tables pipeline instance
- moduleId: erp_custom
type: cortex.sap
dataSourceId: sap_raw
dataTargetId: data_foundation_custom
tableSettings: "config/cortex/data_foundation/sap/table_settings_custom.yaml"
- カスタム スコープを指定する
config/cortex/data_foundation/sap/table_settings_custom.yamlファイルを作成します。E.g.:
common:
- source:
tableName: custom_sap_table_name
target:
tags: [sap, s4, hourly]
clusterDetails:
columns: [carrid, connid]
partitionDetails:
column: fldate
partitionType: time
timeGrain: day
- デプロイ スクリプト(
uv run cortex-build-and-deploy)を実行して変更を適用し、デプロイ後の手順の説明に沿って Dataform アクションを実行します。