DataWorks において、論理モデルはデータ設計の設計図です。モデルを公開すると、MaxCompute や Hologres などのコンピュートエンジンで物理テーブルまたはビューとしてマテリアライズされ、データ開発や分析に利用できるようになります。
制限事項
モデルを公開する前に、次の条件が満たされていることを確認してください:
-
コンピュートエンジン:モデルは MaxCompute、Hologres、EMR Hive、CDH、MySQL に公開できます。
-
公開タイプ:
-
モデルをビューまたはマテリアライズドビューとして公開できるのは、MaxCompute コンピュートエンジンのみです。
-
マテリアライズドビューでサポートされている公開モードは「削除して再作成」のみです。
-
-
環境:
-
ベーシックモードのワークスペースでは、本番環境にのみ公開できます。
-
スタンダードモードのワークスペースでは、開発環境または本番環境に公開できます。
-
-
リソースグループ:
-
コンピュートエンジンが EMR Hive または CDH の場合、公開タスクを実行するには専用スケジューリングリソースグループまたはサーバーレスリソースグループを指定する必要があります。
-
モデルの公開とマテリアライズ
ディメンションテーブル、ファクトテーブル、集計テーブル、アプリケーションテーブルをデータソースインスタンスに直接公開してマテリアライズすることで、コンピュートエンジンでのデータ開発や分析に利用できるようになります。
-
モデルを公開します。
モデルが作成されたら、テーブル詳細ページの上部メニューバーにある
アイコンをクリックします。表示される Publish ダイアログボックスで、次の表のパラメーターを設定します。また、データソース名 (特定のデータソースインスタンス) を指定し、公開の備考 (操作の説明) を入力する必要があります。パラメーター
説明
Publish Type
モデルがマテリアライズされる形式です。
-
物理テーブル:コンピュートエンジンに物理テーブルを作成します。
-
ビュー:コンピュートエンジンにビューを作成します。このオプションは MaxCompute データソースでのみ利用可能です。
-
マテリアライズドビュー:コンピュートエンジンにマテリアライズドビューを作成します。このオプションは MaxCompute データソースでのみ利用可能です。マテリアライズドビューは事前計算の一形態です。JOIN や AGGREGATE のような時間のかかる操作の結果を保存することで、負荷の高い計算の繰り返しを避け、クエリを高速化します。詳細については、「マテリアライズドビューの操作」をご参照ください。
Data Source Type
データの保存に使用されるコンピュートエンジンです。有効な値:MaxCompute、EMR Hive、Hologres、CDH、MySQL。
Effective Environment
パブリッシュ先が 開発 環境か 制作 環境かを指定します。
-
ベーシックモードのワークスペースを使用する場合、テーブルは本番環境にのみ公開できます。
-
スタンダードモードのワークスペースを使用する場合、テーブルは本番環境または開発環境に公開できます。
Publish Mode
-
モデルをコンピュートエンジンに公開する方法です。
-
Incremental Publish: 現在のモデルに加えられた変更点のみで、コンピュートエンジンを更新します。このモードは、既存データを保持し、オンラインサービスへの影響を最小限に抑えるため、既存のモデルでの使用が推奨されます。
-
Delete and Recreate: コンピュートエンジン内の既存のテーブルを削除し、新しいテーブルを作成します。注: この操作は、テーブルを再作成する前に、そのテーブルとすべてのデータを削除します。
初回の公開では、どちらのモードでも同じ結果になります。
-
Automatic Rule Generation Based on Field Standard
モデルが公開された後、データ品質ルールを自動的に生成するかどうかを指定します。詳細については、「データラベリング」をご参照ください。
-
はい:モデルが本番環境に正常に公開された後、プライマリキー、null でない、または標準コードに関連付けられているフィールドに対して品質ルールが自動的に生成されます。
-
いいえ:品質ルールは自動的に生成されません。
Resource Group
このパラメーターは、モデルを [EMR Hive] または [CDH] で物理テーブルとしてマテリアライズする場合に必須です。選択したリソースグループとデータソースの間に ネットワーク接続 が確立されていることを確認してください。
説明-
物理テーブルを EMR Hive または CDH に公開するには、専用スケジューリングリソースグループのみを使用できます。
-
適切な専用スケジューリングリソースグループがない場合は、作成できます。詳細については、「専用スケジューリングリソースグループの使用」をご参照ください。
DDL
DataWorks は、モデル設定に基づいてマテリアライズドビューを作成するための SQL ステートメントを自動的に生成します。公開操作は SELECT 文が有効な場合にのみ成功するため、
AS SELECT句を実行可能な SQL ステートメントになるように手動で修正する必要があります。説明-
このパラメーターは、Materialized View を Materialized View にセットした場合にのみ必須です。
-
マテリアライズドビューの DDL 操作の詳細については、「マテリアライズドビューの操作」をご参照ください。
-
-
パラメーターを設定した後、Publish をクリックします。 システムは、選択した 開発 環境または 制作 環境にモデルを公開し、選択したコンピュートエンジンで実体化します。
-
現在の公開の進捗と関連ログは、Publish ダイアログボックスで確認できます。
-
公開操作を繰り返して、モデルを異なる環境にデプロイできます。
-
-
任意:公開が完了したら、テーブル詳細ページの上部メニューバーにある
アイコンをクリックして、最新の公開操作の結果と詳細を表示できます。Publishing Status は、Succeeded、Failed、または Deploying のいずれかです。次のログは、Succeeded した公開操作の例を示しています。
2025-12-22 13:56:44 INFO – success to submit task to execute script, requestId is 480ead48371568e2ad85dc6ce3b68e60, taskCode is xxx 2025-12-22 13:56:47 INFO – success to execute script: CREATE TABLE IF NOT EXISTS own_yunwan.dim_ec_pub_region_df ( id STRING COMMENT '行政区 ID', name STRING COMMENT '行政区名', level INT COMMENT '行政区レベル。1:国、2:省/自治区/直轄市、3:市、4:区/県', country_id STRING COMMENT '国 ID', country_name STRING COMMENT '国名', province_id STRING COMMENT '省/自治区/直轄市 ID', province_name STRING COMMENT '省/自治区/直轄市名', city_id STRING COMMENT '市 ID', city_name STRING COMMENT '市名', district_id STRING COMMENT '区/県 ID', district_name STRING COMMENT '区/県名', ds STRING COMMENT '業務日付、yyyymmdd' ) COMMENT '地理的行政区ディメンションテーブル' LIFECYCLE 1000 2025-12-22 13:56:47 INFO – finish and success to execute all script 2025-12-22 13:56:50 INFO – end and success to deploy job説明-
Publishing Status が Failed の場合は、表示されたエラーメッセージに基づいて問題を特定し、解決してください。
-
Publishing Logs ダイアログボックスに No publishing logs found. と表示された場合、そのモデルは一度も公開されていません。
-
-
公開レコードの表示
モデルが正常に公開された後、モデルの編集ページに移動し、右側のナビゲーションウィンドウで Publishing Record をクリックして公開履歴を表示します。[公開レコード] パネルでは、
dim_ec_pub_region_dfモデルの公開履歴を確認できます。履歴には、公開日時、パブリッシャー、モデルバージョン、有効な環境の列が含まれます。現在のレコードは、モデルのバージョン V1 が開発環境に公開されたことを示しています。
モデル開発
DataWorks データモデリングでは、モデル開発機能を使用して、ディメンションテーブルやファクトテーブルなどの公開済みモデルテーブル用の ETL (Extract、Transform、Load) コードフレームワークを生成できます。
モデル開発機能は、MaxCompute または EMR Hive コンピュートエンジンに公開されたモデルテーブルのコード生成のみをサポートします。
-
DataWorks データモデリングで、公開済みのモデルテーブルをダブルクリックして、その詳細ページを開きます。
-
アクションバーで、Develop Model をクリックします。
-
Develop Model ダイアログボックスで、Create DataStudio Node または Associate DataStudio Node のいずれかを選択し、パラメーターを設定してから OK をクリックします。
-
選択 Create DataStudio Node
システムは自動的に DataStudio ノードを作成し、テーブル名に基づいてノード名を入力します。[モデル開発] ダイアログボックスで、[宛先ワークスペース]、[ノードタイプ] (例:ODPS SQL)、[ノード名] などのパラメーターを設定します。
-
モデルテーブルが MaxCompute エンジンに公開されている場合、ODPS SQL ノードが作成されます。
-
モデルテーブルが EMR Hive エンジンに公開されている場合、EMR Hive ノードが作成されます。
設定を確認した後、Go to DataStudio をクリックします。DataStudio で、ノードを作成するためのダイアログボックスが表示されます。[OK] をクリックしてノードを作成し、ETL コードを生成します。
-
-
選択 Associate DataStudio Node
[モデル開発] ダイアログボックスで、[宛先ワークスペース]、[ノードタイプ] (例:ODPS SQL)、[ノード名 (ID)] を設定し、[OK] をクリックします。
これにより、コードフレームワークが同じエンジンタイプの既存の DataStudio ノードに関連付けられます。バインドが成功すると、ノード名をクリックして対応するノードページに移動し、開発を続けることができます。
-
同じモデルテーブルに複数のノードを関連付ける必要がある場合は、再度 Develop Model をクリックして別のノードをバインドします。
課金
モデル公開機能は無料です。ただし、マテリアライズ中に消費されるコンピューティングリソースとストレージリソースに対しては課金されます:
コンピュートエンジン料金:モデルがマテリアライズされると、コンピュートエンジン (MaxCompute や Hologres など) は、プロダクトの課金ルールに基づいてストレージリソースとコンピューティングリソースに対して課金します。