アプリケーションテーブルは、同じ期間とディメンションを共有する複数のアトミックメトリック、派生メトリック、または統計粒度に基づいた統計データを整理します。後続のビジネス照会、OLAP 分析、データ配信をサポートします。このトピックでは、アプリケーションテーブルの作成方法について説明します。
DataWorks のデータモデリング機能は、Kimball のディメンショナルモデリング手法に従います。ディメンションテーブル、ファクトテーブル、集計テーブル、アプリケーションテーブルを設計・作成し、モデルを開発エンジンに公開し、既存の物理テーブルを論理モデルにリバースモデリングします。
モデリングの視点
ディメンショナルモデリングでは、モデルテーブルを共通層、アプリケーション層、未分類の3つのレベルに整理します。共通層は、再利用可能な統一メトリック、ディメンション、および詳細なファクトデータを構築するために使用され、データドメインまたはビジネスカテゴリのいずれかの視点での管理をサポートします。アプリケーション層は、ビジネス固有の統計ニーズに対応し、ビジネスカテゴリの視点のみをサポートします。レベルを選択すると、対応するディレクトリツリーでモデルテーブルを作成および管理できます。
概要
アプリケーションテーブルは、指定された期間と関連付けられたディメンションに基づいて、データマートまたはサブジェクトエリアから複数のアトミックメトリックまたは派生メトリックを集計します。関連付けられたディメンション、期間、アトミックメトリック、および派生メトリックは、アプリケーションテーブルの統計フィールドを生成するために使用されます。これにより、レポートやその他の分析表示の作成が容易になります。同じ期間とディメンション内の複数のメトリックに基づいてビジネス状況を表すために、アプリケーションテーブルが使用されます。
前提条件
-
データ階層が利用できる必要があります。データ階層には、同じ目的を持つテーブルが格納されるため、検索と使用が容易になります。アプリケーションテーブルは通常、アプリケーションデータサービス (ADS) 階層に配置されます。アプリケーションテーブルは、特定の統計粒度 (ディメンションまたはディメンションの組み合わせ) で複数のメトリックを集計して出力し、後続のビジネス照会やデータ配信をサポートします。 ビジネス要件に応じて、アプリケーションテーブルを他のデータ階層に配置することもできます。データ階層の作成方法の詳細については、「データウェアハウス階層の定義」をご参照ください。
-
統計データのビジネスコンテキストを定義するために、データマートまたはサブジェクトエリアが作成されている必要があります。詳細については、「データマート」および「サブジェクトエリア」をご参照ください。
-
統計データの時間範囲を定義するために、期間が作成されている必要があります。詳細については、「期間」をご参照ください。
アプリケーションテーブルの作成
データモデリングページに移動します。
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[データモデリングに移動] をクリックします。
-
Data Modeling ページの上部メニューで、Dimensional Modeling をクリックして Dimensional Modeling ページに移動します。
-
アプリケーションテーブルを作成します。
-
Dimensional Modeling ページで、
アイコンにカーソルを合わせ、 をクリックします。 -
アプリケーションテーブルの基本情報を設定します。
パラメーター
説明
[Data Layer]
アプリケーションテーブルが格納されるデータ階層です。デフォルトでは、Application Layer の下にある [アプリケーションデータサービス (ADS) 階層] が選択されます。ビジネス要件に応じて、別のデータ階層を選択することもできます。データ階層の作成方法の詳細については、「データウェアハウス階層の定義」をご参照ください。
[Mart/Subject]
既存のデータマートまたはサブジェクトエリアを選択します。詳細については、「データマート」および「サブジェクトエリア」をご参照ください。
[Granularity]
既存のディメンションを選択します。詳細については、「概念モデルの作成:ディメンション」をご参照ください。
[Period]
アプリケーションテーブルで集計する統計データの時間範囲です。たとえば、昨日や先週などです。
既存の期間から選択する必要があります。既存の期間がビジネスニーズに合わない場合は、新しい期間を作成できます。詳細については、「期間」をご参照ください。
[Modifier]
統計データのビジネス範囲です。
既存の修飾子から選択する必要があります。既存の修飾子がビジネスニーズに合わない場合は、新しい修飾子を作成できます。詳細については、「修飾子」をご参照ください。
[Naming Rule]
テーブルの命名規則を検証するためのチェッカーを選択します。データウェアハウスの計画時に各データ階層に対して事前に作成したチェッカーを選択できます。詳細については、「データウェアハウス階層チェッカーの設定」および「チェッカーの使用」をご参照ください。
[Table Name]
アプリケーションテーブルの名前です。命名規則が設定されている場合、テーブル名はその規則に従う必要があります。
[Table Display Name]
テーブルの表示名です。
[Lifecycle]
テーブルの保持期間 (日数) です。アプリケーションテーブルは最大 36,000 日間保持できます。
[Owner]
アプリケーションテーブルの所有者です。デフォルトでは、テーブルを作成したユーザーになります。
[Description]
テーブルの説明です。
-
-
左上隅の Save をクリックします。
テーブルフィールドの追加
Shortcut Mode または Script Mode でテーブルにフィールドを追加できます。Shortcut Mode は、次のインポート方法をサポートしています。
-
Import from Table/View: コンピューティングエンジン内の既存の物理テーブルまたはビューからフィールドをインポートします。[既存のテーブル/ビューの検索] ドロップダウンリストで、目的の物理テーブルまたはビューを見つけ、そのフィールドをインポートします。
説明現在、MaxCompute、Hologres、および EMR Hive エンジン内のテーブルまたはビューからのみフィールドをインポートできます。
-
Import from Metrics: モデルフィールドとして追加したい派生メトリックを選択します。
[ショートカットモード]: [テーブル/ビューから]
たとえば、テーブル own_yunwan.ipresource から start_ip、end_ip、start_ip_arg フィールドをインポートできます。
-
Shortcut Mode で、Import from Table/View の横にある Expand をクリックします。
-
[既存のテーブル/ビューの検索] 入力ボックスに名前を入力して、対応するテーブルまたはビューを検索します。参照元のテーブルを選択した後、すべてのフィールドをインポートするか、一部のフィールドのみをインポートするかを選択します。
説明-
検索はあいまい一致をサポートしています。キーワードを入力して、名前にそのキーワードが含まれるすべてのテーブルまたはビューを検索できます。
-
本番環境のテーブルのみを検索でき、開発環境のテーブルは検索できません。
-
アイコンは、すべてのフィールドがインポートされることを示します。 -
アイコンは、特定のフィールドがインポートされることを示します。
-
-
一部のフィールドのみをインポートすることを選択した場合、ポップアップウィンドウに選択したテーブルのフィールドが表示されます。モデルに追加したいフィールドを選択し、ウィンドウの下部にある Import をクリックします。
-
インポートされたフィールドの Field Display Name が空の場合、画面のプロンプトに従って、フィールドの説明をフィールドの表示名として使用します。
[ショートカットモード]: [メトリックから]
-
Shortcut Mode で、Import from Metrics の横にある Quick Import をクリックします。
-
ポップアップウィンドウには、作成されたすべての派生メトリックが表示されます。集計テーブルまたはアプリケーションテーブルに追加するフィールドを選択できます。また、Period、Business Process、Modifier、Atomic Metric を使用して、特定の派生メトリックをフィルタリングすることもできます。
-
選択後、ウィンドウの下部にある Import をクリックします。
[スクリプトモード]
Script Mode では、コードを使用してモデルを定義できます。Script Mode をクリックすると、設定されたモデル情報に基づいて、ポップアップウィンドウにモデリング言語のスクリプトが自動的に生成されます。スクリプトを修正してから OK をクリックします。
-- 物理テーブルの公開プロセスが開始されると (つまり、モデルが承認待ち、公開中、または公開済みの状態になると)、テーブル名は変更できません。
CREATE APP TABLE app_ec_user_act_daily ALIAS 'ユーザーアクティビティ日次集計'
(
user_id ALIAS 'ユーザーID' BIGINT COMMENT 'ユーザーID',
login_times ALIAS 'ログイン回数' BIGINT COMMENT '日次ログイン回数',
order_count ALIAS '注文数' BIGINT COMMENT '日次注文数',
payment_amount ALIAS '支払総額' DECIMAL(18,2) COMMENT '日次支払総額',
ds ALIAS 'ビジネス日付、yyyymmdd' STRING COMMENT 'ビジネス日付、yyyymmdd'
)
COMMENT 'ユーザーアクティビティ日次集計アプリケーションテーブル'
WITH('life_cycle'='365');
テーブルフィールド情報の設定
モデルに必要なフィールドを追加した後、ビジネス要件に基づいて各フィールドの Associated Field、Redundant Field、および Associated Granularity/Metric を設定できます。
-
フィールドプロパティを設定します。
デフォルトでは、表示されるフィールドプロパティには Field Name、Type、Field Display Name、Description、Primary Key、Not Null、Measurement Unit、およびActions が含まれます。追加されたフィールドリストの右上隅にある Field Display Settings をクリックして、表示するフィールドプロパティを選択し、必要に応じて変更します。
-
フィールドの Field Standard to Associate を設定します。
追加されたフィールドにフィールド標準を関連付けて、その値と範囲を標準化します。
Field Standard to Associate: 意味は同じでもフィールド名が異なるデータを一元管理します。フィールドの値の範囲、測定単位、その他のプロパティを定義します。
-
Redundant Field を設定します。
従来のスタースキーマのディメンショナルモデリングでは、ディメンションテーブルにディメンションが格納され、ストレージ消費量を削減するためにファクトテーブルの外部キーを介してアクセスします。DataWorks のデータモデリングでは、下流のクエリ効率を向上させ、データアクセスを簡素化し、テーブル結合の数を減らすために、頻繁に使用されるフィールド (ユーザー ID や一般的な分析ディメンションなど) を冗長フィールドとして追加できます。
追加されたフィールドの Actions 列で、Redundant Field をクリックしてその関連付けを設定します。
[冗長フィールド] ダイアログボックスで、[関連付けられたテーブル/ビュー名] ドロップダウンリストからデータソースタイプと特定のテーブル名を選択します。下部の表でフィールドリストを確認し、[関連付けフィールド] ドロップダウンリストからターゲットフィールドを選択します。[保存] をクリックして設定を完了します。
-
フィールドの Associated Granularity/Metric を設定します。
集計テーブルとアプリケーションテーブルでは、フィールドの Association Type を設定することで、各フィールド値の計算方法を指定できます。オプションには、Statistical Granularity、Derived Metric、Atomic Metric があります。
-
Statistical Granularity: ディメンションテーブルとそのディメンションテーブル内のフィールドに関連付けます。たとえば、製品ディメンションや販売者ディメンションなどです。
-
Derived Metric: フィールドが集計する統計値を持つ派生メトリックを指定します。たとえば、Hema アプリで過去7日間に発注された注文の合計支払額などです。
-
Atomic Metric: フィールドが集計する統計値を持つアトミックメトリックを指定します。たとえば、注文の支払額などです。
説明テーブルからインポートされたフィールドやスクリプトモードで追加されたフィールドには、デフォルトの関連付けタイプがありません。これらのフィールドの関連付けタイプは手動で設定する必要があります。
設定後、フィールドリストの右上隅にある Field Association パネルで、フィールドの関連オブジェクトを指定できます。
-
-
設定が完了したら、左上隅の Save をクリックします。
次のステップ
テーブルを作成した後、フィールド管理、関連付け、およびパーティション設定も構成し、テーブルをターゲット環境に公開する必要があります。詳細については、次のトピックをご参照ください。