デプロイ構成のサンプル

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 データセットのロケーション(USus-central1europe-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-central1europe-west1 など)。
targetSettings.repositoryName リポジトリ名 cortex-repository Dataform リポジトリの特定の名前。
targetSettings.workspaceName ワークスペース名 dev デプロイ サイクルで使用される特定の Dataform ワークスペース。