DataWorks は Open Data 機能を提供します。この機能を使用してメタデータを収集する前に、プロジェクトに Open Data パッケージをインストールする必要があります。このトピックでは、Open Data パッケージのインストール方法とインストール結果の表示方法について説明します。
推奨事項
DataWorks Open Data 機能は、招待プレビューから正式リリースに移行しました。正式版では、メタデータを簡単に参照および管理できるビジュアルインターフェイスが提供されます。このドキュメントはまもなく非推奨になります。正式版を使用することをお勧めします。詳細については、「オープンデータの管理」をご参照ください。
制限事項
Open Data 機能は DataWorks Enterprise Edition でのみ利用可能です。このバージョンでは、コマンドラインを使用した Open Data パッケージのインストールのみがサポートされています。
重要DataWorks は新しい Open Data 機能をリリースしました。この機能を使用すると、ビジュアルインターフェイスを使用してメタデータを効率的に表示および管理できます。詳細については、「オープンデータの管理」をご参照ください。
Open Data 機能は MaxCompute コンピュートエンジンでのみ使用できます。この機能を使用して他のコンピュートエンジンからメタデータを収集することはできません。
Open Data パッケージのインストール
権限の取得
Open Data パッケージをインストールする前に、必要な権限付与を取得する必要があります。チケットを送信 し、プロジェクト情報を DataWorks テクニカルサポートに提供します。権限が付与された後、プロジェクトにパッケージをインストールし、Open Data 機能を使用してメタデータを収集できます。
説明チケットを送信する際は、Alibaba Cloud UID、ワークスペース名、ワークスペース ID、およびワークスペースが存在するリージョンを提供してください。
プロジェクトは次の要件を満たす必要があります。
プロジェクトには、収集されたメタデータを制限なく共有することによって引き起こされる可能性のあるデータ侵害を防ぐための堅牢な権限管理メカニズムが必要です。
プロジェクトは、社内またはチーム内で共有可能である必要があります。これにより、収集されたメタデータを異なるデータ開発チーム間で共有できます。
プロジェクトオーナーとして Open Data パッケージをインストールします。
この例では、DataStudio にパッケージをインストールする方法を示します。権限が付与されたプロジェクトの DataStudio ページにログインし、ODPS ノードでインストールコマンドを実行します。
説明権限が付与されたプロジェクトが標準モードの場合、開発環境と本番環境の両方に Open Data パッケージをインストールする必要があります。標準モードでは、開発環境と本番環境は分離されています。
インストールコマンドでは、パッケージをインストールするリージョンに基づいて u_meta プロジェクト名と Open Data パッケージ名を置き換えます。次の例は、中国 (杭州) リージョンに Open Data パッケージをインストールする方法を示しています。
-- 開発環境 (work_test_2_dev) に中国 (杭州) リージョン用の Open Data パッケージをインストールします。 INSTALL PACKAGE u_meta_hangzhou.systables; -- 本番環境 (work_test_2) に中国 (杭州) リージョン用の Open Data パッケージをインストールします。 USE work_test_2; INSTALL PACKAGE u_meta_hangzhou.systables;パラメーター:
u_meta_hangzhou: 中国 (杭州) リージョンの Open Data パッケージの u_meta プロジェクトの名前。
systables: Open Data パッケージの名前。インストール後、テーブルまたはビューを使用して、パーティションメタデータやテーブルリネージメタデータなど、さまざまなディメンションのメタデータを収集できます。
Alibaba Cloud は、複数のリージョン向けに Open Data パッケージを提供しています。u_meta プロジェクト名はリージョンによって異なります。各リージョンの u_meta プロジェクト名の詳細については、「付録 2: オープンプロジェクトのリスト」をご参照ください。あるリージョンで Open Data 機能を使用する場合、対応する Open Data パッケージをインストールし、u_meta プロジェクト名を実際のプロジェクト名に置き換える必要があります。
インストール結果の表示
インストール済みパッケージのリストで、[PackageName] と [SourceProject] が前のステップのものと一致するパッケージを見つけます。このパッケージの [Status] が [OK] の場合、Open Data パッケージがインストールされていることを意味します。
-- u_meta_hangzhou.systables パッケージがプロジェクトにインストールされているかどうかを確認します。 SHOW PACKAGES; -- 出力例 +-------------+-----------------+--------------------------+--------+ | PackageName | SourceProject | InstallTime | Status | +-------------+-----------------+--------------------------+--------+ | systables | u_meta_hangzhou | 2020-11-26T15:25:22+0800 | OK | +-------------+-----------------+--------------------------+--------+
Open Data 機能によって提供されるテーブルまたはビューの表示
Open Data 機能を使用する場合、パッケージのバージョンによって名前が異なる可能性があるため、テーブルまたはビューの完全な名前を入力する必要があります。
次のコマンドを実行して、現在の Open Data 機能によって提供されるテーブルとビューのリストを表示し、それらの名前と権限を取得します。
DESCRIBE PACKAGE u_meta_hangzhou.systables;次の例は、DataStudio でクエリコマンドを実行する方法とその結果を示しています。
Open Data パッケージ内のテーブルとビューの名前にはバージョン情報が含まれており、機能が更新されると変更されます。使用するバージョンは、systables パッケージのバージョンによって決まります。たとえば、[raw_v_tenant_user_v1_1] ビューでは、[v1_1] がバージョン番号です。
-- u_meta_hangzhou.systables パッケージに含まれるテーブルまたはビューを表示します。
DESCRIBE PACKAGE u_meta_hangzhou.systables;
-- 出力例
CreateTime: 2020-11-18T20:17:24+0800
PackageName: systables
SourceProject: u_meta_hangzhou
Object List
+------------+-----------------------------------+------------------+
| ObjectType | ObjectName | ObjectPrivileges |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_meta_biz_table_wiki_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_meta_column_usage_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_meta_column_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_meta_database_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_meta_partition_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_meta_table_detail_log_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_meta_table_join_map_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_meta_table_lineage_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_meta_table_output_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_meta_table_usage_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_meta_table_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_meta_view_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_schedule_di_resgroup_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_schedule_node_relation_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_schedule_node_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_schedule_task_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_tenant_res_group_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_tenant_user_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_tenant_workspace_user_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | raw_v_tenant_workspace_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | rpt_v_meta_ind_table_core_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+
| TABLE | rpt_v_meta_ind_table_extra_v1_1 | Describe,Select |
+------------+-----------------------------------+------------------+テーブルまたはビューの構造とフィールドの説明の表示
次のコマンドを実行して、特定のテーブルまたはビューの構造とフィールドの説明を表示します。
DESCRIBE u_meta_hangzhou.rpt_v_meta_ind_table_core_v1_0;コマンドの rpt_v_meta_ind_table_core_v1_0 は、クエリするテーブルまたはビューの名前です。「Open Data 機能によって提供されるテーブルまたはビューの表示」で説明されているように、テーブルまたはビューの実際の名前を取得できます。
DataWorks は、詳細データ、メトリックデータ、ディメンションデータなど、複数のディメンションのデータを提供します。必要に応じてデータを選択的に取得し、DataWorks プロジェクトに保存できます。このデータは、データガバナンスや O&M のための既存データとして使用でき、不要なストレージ領域の使用を避けるのに役立ちます。
次の例は、DataStudio で [rpt_v_meta_ind_table_core] ビューを表示するためのコマンドとクエリ結果を示しています。
-- rpt_v_meta_ind_table_core ビューのフィールドの説明を表示します。
DESCRIBE u_meta_hangzhou.rpt_v_meta_ind_table_core_v1_0;
-- 出力例
+------------------------------------------------------------------------------------+
| Owner: ALIYUN$dataworks-datagovernance | Project: u_meta_hangzhou |
| TableComment: メタデータモジュール内のテーブルのコアメトリック |
+------------------------------------------------------------------------------------+
| CreateTime: 2020-12-07 20:02:53 |
| LastDDLTime: 2020-12-07 20:02:53 |
| LastModifiedTime: 2020-12-07 20:02:53 |
+------------------------------------------------------------------------------------+
| VirtualView : YES | ViewText: CREATE OR REPLACE VIEW rpt_v_meta_ind_table_core_v1_1 (@param_biz_date STRING)
RETURNS @ret_result TABLE (
tenant_id BIGINT COMMENT 'ディメンション: DataWorks テナント ID',
project_id BIGINT COMMENT 'ディメンション: DataWorks プロジェクト (ワークスペース) ID',
catalog_name STRING COMMENT 'ディメンション: テーブルが属するカタログ。MaxCompute プロジェクトの値は odps です。',
database_name STRING COMMENT 'ディメンション: データベースまたは MaxCompute プロジェクト名',
table_name STRING COMMENT 'ディメンション: テーブル名',
table_uuid STRING COMMENT 'ディメンション: テーブルの一意の識別子',
owner_yun_acct STRING COMMENT 'ディメンション: テーブルオーナーの Alibaba Cloud アカウント',
dim_life_cycle BIGINT COMMENT 'ディメンション: ライフサイクル。0 はライフサイクルが設定されていないことを示します。その他の値は特定のライフサイクル値を示します。',
is_partition_table BOOLEAN COMMENT 'ディメンション: テーブルがパーティションテーブルであるかどうかを示します。true はパーティションテーブルであることを示します。',
entity_type BIGINT COMMENT 'ディメンション: エンティティタイプ。0 はテーブルを示し、1 はビューを示します。',
categories STRING COMMENT 'ディメンション: カテゴリ情報',
last_access_time BIGINT COMMENT 'ディメンション: テーブルが最後にアクセスされた時刻 (10 桁の UNIX タイムスタンプ)',
`size` BIGINT COMMENT 'テーブルサイズ。これはデータが占有する論理ストレージ値を指します。ビューのストレージ量は NULL です。',
column_count BIGINT COMMENT 'フィールド数 (パーティションキー列を含む)',
partition_count BIGINT COMMENT 'パーティション数。非パーティションテーブルの場合、この値は NULL です。',
detail_view_count BIGINT COMMENT 'ページ上でテーブル詳細が表示された回数',
favorite_count BIGINT COMMENT 'テーブルがお気に入りに追加された回数',
biz_date STRING COMMENT 'ビジネスデータの日付'
) COMMENT 'メタデータモジュール内のテーブルのコアメトリック' AS
SELECT * FROM u_meta_hangzhou.rpt_v_meta_ind_table_core_proxy(@param_biz_date) |
+------------------------------------------------------------------------------------+
| Native Columns: |
+------------------------------------------------------------------------------------+
| Field | Type | Label | Comment |
+------------------------------------------------------------------------------------+
| tenant_id | bigint | | ディメンション: DataWorks テナント ID |
| project_id | bigint | | ディメンション: DataWorks プロジェクト (ワークスペース) ID |
| catalog_name | string | | ディメンション: テーブルが属するカタログ。MaxCompute プロジェクトの値は odps です。 |
| database_name | string | | ディメンション: データベースまたは MaxCompute プロジェクト名 |
| table_name | string | | ディメンション: テーブル名 |
| table_uuid | string | | ディメンション: テーブルの一意の識別子 |
| owner_yun_acct | string | | ディメンション: テーブルオーナーの Alibaba Cloud アカウント |
| dim_life_cycle | bigint | | ディメンション: ライフサイクル。0 はライフサイクルが設定されていないことを示します。その他の値は特定のライフサイクル値を示します。 |
| is_partition_table | boolean | | ディメンション: テーブルがパーティションテーブルであるかどうかを示します。true はパーティションテーブルであることを示します。 |
| entity_type | bigint | | ディメンション: エンティティタイプ。0 はテーブルを示し、1 はビューを示します。 |
| categories | string | | ディメンション: カテゴリ情報 |
| last_access_time | bigint | | ディメンション: テーブルが最後にアクセスされた時刻 (10 桁の UNIX タイムスタンプ) |
| size | bigint | | テーブルサイズ。これはデータが占有する論理ストレージ値を指します。ビューのストレージ量は NULL です。 |
| column_count | bigint | | フィールド数 (パーティションキー列を含む) |
| partition_count | bigint | | パーティション数。非パーティションテーブルの場合、この値は NULL です。 |
| detail_view_count | bigint | | ページ上でテーブル詳細が表示された回数 |
| favorite_count | bigint | | テーブルがお気に入りに追加された回数 |
| biz_date | string | | ビジネスデータの日付 |
+------------------------------------------------------------------------------------+テーブルまたはビューの構造の詳細については、「付録 1: ビューのリストと構造の詳細」をご参照ください。
Open Data パッケージのアンインストール
この例では、DataStudio で Open Data パッケージをアンインストールする方法を示します。アンインストールコマンドは次のとおりです。
権限が付与されたプロジェクトが標準モードの場合、開発環境と本番環境の両方から Open Data パッケージをアンインストールする必要があります。標準モードでは、開発環境と本番環境は分離されています。
-- 開発プロジェクト (work_test_2_dev) からアンインストールします。
UNINSTALL PACKAGE u_meta_hangzhou.systables;
-- 本番プロジェクト (work_test_2) からアンインストールします。
USE work_test_2;
UNINSTALL PACKAGE u_meta_hangzhou.systables;次のステップ
Open Data パッケージをインストールした後、Open Data 機能を使用してデータガバナンスまたは O&M のためのメタデータを収集できます。Open Data 機能の使用方法の詳細については、「Open Data 機能の使用」をご参照ください。