ステップ 5: デプロイを構成する
このページでは、Cortex Framework のコアである Cortex Framework Data Foundation をデプロイする手順の 5 番目のステップについて説明します。このステップでは、要件に合わせて Cortex Framework Data Foundation リポジトリの構成ファイルを変更します。
構成ファイル
デプロイの動作は、Cortex Framework Data Foundation の構成ファイル config.json
によって制御されます。このファイルには、グローバル構成と、各ワークロードに固有の構成が含まれています。
次の手順で、必要に応じて
config.json ファイルを編集します。
- Cloud Shell からファイル
config.jsonを開きます。 次のパラメータに従って
<td"> パラメータ <td">意味 <td">デフォルト値 <td">説明 </td"></td"></td"></td"><td">config.jsonファイルを編集します。testData<td">テストデータをデプロイする <td">true<td">ソース データセットが存在し、ビルドが実行されるプロジェクト。注: テストデータのデプロイは、元のデータセットが空でテーブルがない場合にのみ実行されます 。</td"></td"></td"></td"><td">deploySAP<td">SAP をデプロイする <td">true<td">SAP ワークロード(ECC または S/4 HANA)のデプロイを実行します。 </td"></td"></td"></td"><td">deploySFDC<td">Salesforce をデプロイする <td">true<td">Salesforce ワークロードのデプロイを実行します。 </td"></td"></td"></td"><td">deployMarketing<td">マーケティングをデプロイする <td">true<td">マーケティング ソース(Google 広告、CM360、TikTok)のデプロイを実行します。 </td"></td"></td"></td"><td">deployOracleEBS<td">Oracle EBS をデプロイする <td">true<td">Oracle EBS ワークロードのデプロイを実行します。 </td"></td"></td"></td"><td">enableTaskDependencies<td">タスク依存 DAG <td">false<td">タスク依存 DAG を有効にすると、サポートされている SQL テーブルが単一の DAG 内で依存関係の順序に基づいて実行されます。 詳細については、 タスク依存 DAG をご覧ください。 </td"></td"></td"></td"><td">turboMode<td">ターボモードでデプロイする。 <td">true<td">すべてのビューのビルドを同じ Cloud Build プロセスのステップとして並行して実行し、デプロイを高速化します。falseに設定すると、各レポートビューは独自の順次ビルドステップで生成されます。テストデータを使用する場合、またはレポート列とソースデータの不一致が解決された後にのみ、trueに設定することをおすすめします。 </td"></td"></td"></td"><td">projectIdSource<td">ソース プロジェクト ID <td">- <td">ソース データセットが存在し、ビルドが実行されるプロジェクト。 </td"></td"></td"></td"><td">projectIdTarget<td">ターゲット プロジェクト ID <td">- <td">ユーザー向け データセットのターゲット プロジェクト。 </td"></td"></td"></td"><td">targetBucket<td">生成された DAG スクリプトを保存するターゲット バケット <td">- <td">DAG(および Dataflow 一時ファイル)が生成される、 以前に作成した バケット。 実際の Airflow バケットは使用しないでください。 </td"></td"></td"></td"><td">location<td">ロケーションまたはリージョン <td">"US"<td">BigQuery データセットと Cloud Storage バケットが存在するロケーション。BigQuery データセットのロケーションに記載されている制限事項をご覧ください。
</td"></td"></td"></td"><td">testDataProject<td">テストハーネスのソース <td">kittycorn-public<td">デモ デプロイのテストデータのソース。testDataがtrueの場合に適用されます。独自のテストハーネスがない限り、この値を変更しないでください。
</td"></td"></td"></td"><td">k9.datasets.processing<td">K9 データセット - 処理 <td">"K9_PROCESSING"<td">クロスワークロード テンプレートを実行します (日付ディメンションなど)。K9 構成ファイルで定義されています。 通常、これらのテンプレートはダウンストリーム ワークロードで必要になります。 </td"></td"></td"></td"><td">k9.datasets.reporting<td">K9 データセット - レポート <td">"K9_REPORTING"<td">クロスワークロード テンプレート と外部データソース(天気など)を、K9 構成ファイルで定義されているとおりに実行します。 デフォルトではコメントアウトされています。 </td"></td"></td"></td">必要に応じて、必要なワークロードを構成します。ワークロードのデプロイ パラメータ(
deploySAPやdeployMarketingなど)がFalseに設定されている場合は、構成する必要はありません。詳細については、 ステップ 3: 統合メカニズムを決定するをご覧ください。
デプロイをより細かくカスタマイズするには、次の省略可の手順をご覧ください。
レポートビューのパフォーマンスの最適化
レポート アーティファクトは、ビューとして作成することも、DAG を使用して定期的に更新されるテーブルとして作成することもできます。ビューはクエリの実行ごとにデータを計算するため、結果は常に最新の状態に保たれます。 一方、テーブルは計算を 1 回実行するだけで、コンピューティング費用を増やさずに結果を複数回クエリできます。また、実行時間も短縮されます。各お客様は、ニーズに応じて独自の構成を作成します。
マテリアライズド結果はテーブルに更新されます。これらのテーブルに パーティショニングと クラスタリングを追加することで、さらに微調整できます。
各ワークロードの構成ファイルは、Cortex Framework Data Foundation リポジトリ内の次のパスにあります。
<td">データソース <td">設定ファイル </td"></td"><td">運用 - SAP <td">src/SAP/SAP_REPORTING/reporting_settings_ecc.yaml
</td"></td"><td">運用 - Salesforce Sales Cloud
<td">src/SFDC/config/reporting_settings.yaml
</td"></td"><td">運用 - Oracle EBS
<td">src/oracleEBS/config/reporting_settings.yaml
</td"></td"><td">マーケティング - Google 広告
<td">src/marketing/src/GoogleAds/config/reporting_settings.yaml
</td"></td"><td">マーケティング - CM360
<td">src/marketing/src/CM360/config/reporting_settings.yaml
</td"></td"><td">マーケティング - Meta
<td">src/marketing/src/Meta/config/reporting_settings.yaml
</td"></td"><td">マーケティング - Salesforce Marketing Cloud
<td">src/marketing/src/SFMC/config/reporting_settings.yaml
</td"></td"><td">マーケティング - TikTok
<td">src/marketing/src/TikTok/config/reporting_settings.yaml
</td"></td"><td"> マーケティング - YouTube(DV360 を使用)
<td">src/marketing/src/DV360/config/reporting_settings.yaml
</td"></td"><td">マーケティング - Google アナリティクス 4
<td">src/marketing/src/GA4/config/reporting_settings.yaml
</td"></td"><td">マーケティング - クロス メディアとプロダクト コネクテッド インサイト
<td">src/marketing/src/CrossMedia/config/reporting_settings.yaml
</td"></td">レポート設定ファイルをカスタマイズする
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" }
次のパラメータを使用して、特定のテーブルのパーティショニングの詳細を制御します。
<td">プロパティ <td">説明 <td">値 </td"></td"></td"><td">column
<td">CDC テーブルのパーティショニングに使用する列。
<td">列名。
</td"></td"></td"><td">partition_type
<td">パーティションのタイプ。
<td>時間ベースのパーティションの場合は "time"。詳細については、タイムスタンプ パーティション分割テーブルをご覧ください。
整数ベースのパーティションの場合は "integer_range"。詳細については、整数範囲のドキュメントをご覧ください。
</td"></td"></td"><td">time_grain
<td">パーティショニングに使用する時間部分。
partition_type = "time" の場合は必須です。
<td>"hour"、"day"、"month"、"year"。
</td"></td"></td"><td">integer_range_bucket
<td">バケット範囲
。partition_type = "integer_range"
<td">"start" = 開始値、
"end" = 終了値、"interval" = 範囲の間隔。
</td"></td"></td">オプションと関連する制限事項の詳細については、BigQuery テーブル パーティションをご覧ください。
クラスタの設定
テーブルのクラスタリングを有効にするには、cluster_details を指定します。
- base_table: vbak
load_frequency: "@daily"
cluster_details: {columns: ["vkorg"]}
次のパラメータを使用して、特定のテーブルのクラスタの詳細を制御します。
<td">プロパティ <td">説明 <td">値 </td"></td"></td"><td">columns
<td">テーブルのクラスタリングに使用する列。
<td">列名のリスト。例:
"mjahr"、"matnr"。
</td"></td"></td">オプションと関連する制限事項の詳細については、 テーブル クラスタのドキュメントをご覧ください。
次のステップ
このステップが完了したら、次のデプロイ ステップに進みます。
- ワークロードを確立する。
- リポジトリのクローンを作成する。
- 統合メカニズムを決定する。
- コンポーネントをセットアップする。
- デプロイを構成する(このページ)。
- デプロイを実行する。