デプロイ構成のサンプル
config/config.yaml ファイルは、通常は
config/config.yaml.example テンプレートから初期化され、Cortex Framework のデプロイの主要な構成
として機能します。ターゲット実行プロジェクト、ソースと宛先の BigQuery データセット、リポジトリ名やワークスペース名などの Dataform
仕様など、重要な
パラメータを定義します。 Google Cloud
以降のセクションでは、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 Namespace
Cortex Framework Namespace を定義します。
| パラメータ | 意味 | デフォルト値 | 説明 |
|---|---|---|---|
data.namespaces.name |
Namespace の名前 | - | Cortex Framework Namespace の名前。例: cortex |
data.namespaces.path |
Namespace のパス | - | 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」を定義します。例: cortex_data_foundation |
data.targets.projectId |
ターゲット プロジェクト ID | YOUR_TARGET_PROJECT_ID |
ターゲット データの Google Cloud プロジェクト ID を参照します。 |
data.targets.datasetId |
ターゲット BigQuery データセット ID | - |
ターゲット データの BigQuery データセット ID を参照します。例: cortex_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: "config/data_foundation/sap/table_settings.yaml"
次の表に、modules.foundation 構成のデータ基盤モジュールのパラメータを示します。
| パラメータ | 意味 | デフォルト値 | 説明 |
|---|---|---|---|
moduleId |
モジュール ID | erp |
特定のデータ基盤変換モジュール インスタンスの一意の識別子。 |
type |
モジュール ロジックタイプ | cortex.sap |
適用されるビジネス ロジックまたはテンプレート(customers、sales_documents など)を定義します。 |
dataSourceId |
ソース リンク | sap_raw |
data.sources リストの「id」を参照してデータをプルします。 |
dataTargetId |
ターゲット リンク | sap_foundation |
ターゲット リストの「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 |
テーブルの設定 | config/cortex/data_foundation/{source_system}/table_settings.yaml |
テーブル設定構成ファイルのパス。 |
データ: モジュール: データ プロダクト
データ プロダクト モジュールは、特定のビジネス ユースケースを満たす分析情報に未加工データを変換するために必要な集計、計算、結合を定義します。
データ プロダクトを構成すると、一意の ID を設定し、依存関係を定義できます。また、結果が保存されるデータ基盤モジュールとターゲット データセットを参照できます。
特定のデータ プロダクトの詳細な構成は、キー tableSettings で参照されるファイル内で定義されます。
modules:
# List of data product modules.
product:
# Unique identifier for the data product instance.
- moduleId: sap_purchasing_organizations
# Type of the data product (namespaced).
type: cortex.purchasing_organizations
# 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: "config/cortex/data_product/purchasing_organizations/table_settings.yaml"
次の表に、modules.product 構成のデータ プロダクト モジュールのパラメータを示します。
| パラメータ | 意味 | デフォルト値 | 説明 |
|---|---|---|---|
moduleId |
モジュール ID | - | 特定の変換モジュール インスタンスの一意の識別子。 |
type |
モジュール ロジックタイプ | - | src/data_modules/{namespace}/data_product フォルダで定義されている、適用されるビジネス ロジックまたはテンプレートを定義します。 |
dataTargetId |
ターゲット リンク | sap_foundation |
ターゲット リストの「id」を参照してデータをプッシュします。 |
dependsOn |
アップストリームの依存関係 | sapModule: erp |
プロダクト モジュールをビルドする前に存在する必要がある基盤モジュールを指定します。 |
enabled |
モジュールの有効化 | true |
モジュールが有効かどうかを指定します。 |
tableSettings |
テーブルの設定 | "config/{namespace}/data_product/data_product_name/table_settings.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
次の表に、デプロイ ターゲットのロケーション パラメータ(deployment.targets:)を示します。
| パラメータ | 意味 | デフォルト値 | 説明 | Google Cloud
|---|---|---|---|
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 ワークスペース。 |