ステップ 5: デプロイを構成する
このページでは、Cortex Framework のコアである Cortex Framework Data Foundation をデプロイする 5 番目の手順について説明します。このステップでは、要件に合わせて 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 広告、CM360、TikTok)のデプロイを実行します。 - deployOracleEBS- Oracle EBS をデプロイする - true- Oracle EBS ワークロードのデプロイを実行します。 - deployDataMesh- データメッシュをデプロイする - true- データ メッシュのデプロイを実行します。詳細については、データ メッシュ ユーザーガイドをご覧ください。 - enableTaskDependencies- タスク依存 DAG - false- タスク依存 DAG を有効にすると、サポートされている SQL テーブルが単一の DAG 内で依存関係の順序に基づいて実行されます。詳細については、タスク依存 DAG をご覧ください。 - turboMode- ターボモードでデプロイします。 - true- すべてのビュービルドを同じ Cloud Build プロセスのステップとして並行して実行し、デプロイを高速化します。 - falseに設定すると、各レポートビューは独自の順次ビルドステップで生成されます。テストデータを使用する場合、またはレポートの列とソースデータの不一致が解決された後にのみ、- trueに設定することをおすすめします。- projectIdSource- ソース プロジェクト ID - - - ソース データセットが存在し、ビルドが実行されるプロジェクト。 - projectIdTarget- ターゲット プロジェクト ID - - - ユーザー向けデータセットのターゲット プロジェクト。 - targetBucket- 生成された DAG スクリプトを保存するターゲット バケット - - - 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- BigQuery アセットまたはフィールドでカスタム メタデータを使用できる Data Catalog タグをデプロイするには、有効にする前に構成が必要です。 - DataMesh.deployACLs- データメッシュ - アクセス制御 - false- BigQuery アセットにアセット、行、列レベルのアクセス制御をデプロイします。有効にする前に構成が必要です。 
- 必要に応じて、必要なワークロードを構成します。ワークロードのデプロイ パラメータ( - deploySAPや- deployMarketingなど)が- Falseに設定されている場合は、構成する必要はありません。詳細については、ステップ 3: 統合メカニズムを決定するをご覧ください。
デプロイをより適切にカスタマイズするには、次の省略可能な手順をご覧ください。
レポートビューのパフォーマンスの最適化
レポート アーティファクトは、ビューとして作成することも、DAG を介して定期的に更新されるテーブルとして作成することもできます。ビューはクエリの実行ごとにデータを計算するため、結果は常に最新の状態に保たれます。一方、テーブルでは計算が 1 回実行され、コンピューティング費用を増やすことなく結果を複数回クエリして、ランタイムを短縮できます。各お客様は、ニーズに応じて独自の構成を作成します。
実体化された結果がテーブルに更新されます。これらのテーブルにパーティショニングとクラスタリングを追加することで、さらに微調整できます。
各ワークロードの構成ファイルは、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 広告 | 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(ディスプレイ&ビデオ 360 を使用) | src/marketing/src/DV360/config/reporting_settings.yaml | 
| マーケティング - Google アナリティクス 4 | src/marketing/src/GA4/config/reporting_settings.yaml | 
| マーケティング - クロス メディアとプロダクトの連携による分析情報 | src/marketing/src/CrossMedia/config/reporting_settings.yaml | 
レポート設定ファイルのカスタマイズ
reporting_settings ファイルは、レポート データセットの BigQuery オブジェクト(テーブルまたはビュー)の作成方法を制御します。次のパラメータの説明に沿ってファイルをカスタマイズします。このファイルには次の 2 つのセクションが含まれています。
- 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"です。 | 
オプションと関連する制限事項の詳細については、テーブル クラスタのドキュメントをご覧ください。
次のステップ
このステップを完了したら、次のデプロイ ステップに進みます。
- ワークロードを確立する。
- リポジトリのクローンを作成する。
- 統合メカニズムを決定します。
- コンポーネントを設定する。
- デプロイを構成する(このページ)。
- デプロイを実行します。