ステップ 5: デプロイを構成する

このページでは、Cortex Framework のコアである Cortex Framework Data Foundation をデプロイする手順の 5 番目のステップについて説明します。このステップでは、要件に合わせて Cortex Framework Data Foundation リポジトリの構成ファイルを変更します。

構成ファイル

デプロイの動作は、Cortex Framework Data Foundation の構成ファイル config.json によって制御されます。このファイルには、グローバル構成と、各ワークロードに固有の構成が含まれています。 次の手順で、必要に応じて config.json ファイルを編集します。

  1. Cloud Shell からファイル config.json を開きます。
  2. 次のパラメータに従って config.json ファイルを編集します。

    <td"> パラメータ <td">意味 <td">デフォルト値 <td">説明 </td"></td"></td"></td"><td">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">デモ デプロイのテストデータのソース。testDatatrue の場合に適用されます。

    独自のテストハーネスがない限り、この値を変更しないでください。

    </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">
  3. 必要に応じて、必要なワークロードを構成します。ワークロードのデプロイ パラメータ(deploySAPdeployMarketing など)が 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 つのセクションが含まれています。

  1. bq_independent_objects: 他の依存関係なしで個別に作成できるすべての BigQuery オブジェクト。Turbo mode が有効になっている場合、これらの BigQuery オブジェクト はデプロイ時に並行して作成されるため、デプロイ プロセスが高速化されます。
  2. bq_dependent_objects: 他の BigQuery オブジェクトへの依存関係により、特定の順序で作成する必要があるすべての BigQuery オブジェクト。Turbo mode はこのセクションには適用されません。

デプロイヤは、まず bq_independent_objects にリストされているすべての BigQuery オブジェクトを作成し、次に bq_dependent_objects にリストされているすべてのオブジェクトを作成します。各オブジェクトに次のプロパティを定義します。

  1. sql_file: 特定のオブジェクトを作成する SQL ファイルの名前。
  2. type: BigQuery オブジェクトのタイプ。値は次のいずれかです。
    • view : オブジェクトを BigQuery ビューにする場合。
    • table: オブジェクトを BigQuery テーブルにする場合。
    • script: これは、他のタイプのオブジェクト(BigQuery 関数やストアド プロセスなど)を作成するためのものです。
  3. typetable に設定されている場合は、次の省略可能なプロパティを定義できます。
    • 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">

オプションと関連する制限事項の詳細については、 テーブル クラスタのドキュメントをご覧ください。

次のステップ

このステップが完了したら、次のデプロイ ステップに進みます。

  1. ワークロードを確立する
  2. リポジトリのクローンを作成する
  3. 統合メカニズムを決定する
  4. コンポーネントをセットアップする
  5. デプロイを構成する(このページ)。
  6. デプロイを実行する