DataWorks為您提供開放資料功能,使用開放資料擷取中繼資料前,您需在專案中安裝開放資料Package。本文為您介紹如何安裝開放資料Package,以及安裝後如何查看安裝結果。
推薦使用
DataWorks 開放資料功能已經從早期的邀測階段逐步進入穩定可用的正式版本發布,正式版本提供可視化介面,便於您更便捷地瀏覽與管理中繼資料。當前文檔將逐步下線,推薦您使用正式版本功能,具體操作請參考管理開放資料。
使用限制
僅DataWorks企業版支援使用開放資料功能,目前的版本僅支援通過命令列操作安裝開放資料Package。
重要DataWorks已推出全新開放資料功能,支援通過可視化方式直觀高效地查看與管理中繼資料,使用詳情請參見管理開放資料。
當前開放資料僅支援在MaxCompute計算引擎中應用,其他引擎暫時不支援使用DataWorks開放資料擷取中繼資料資訊。
安裝開放資料Package
擷取許可權。
安裝開放資料Package前,您需擷取到使用授權。您可單擊提交工單,向阿里雲DataWorks技術人員提供待授權的專案資訊。技術人員為此專案授權後,此專案可安裝並使用開放資料擷取中繼資料資訊。
說明提交工單時,請提供阿里雲UID,工作空間名稱,工作空間ID和工作空間所在的地區資訊。
關於待授權專案,建議滿足以下條件:
是具有完善的許可權管理機制的專案,避免後續使用開放資料擷取到的中繼資料被隨意分享,造成資料泄露。
是公司或團隊內可以共用使用的專案,以便從DataWorks擷取到中繼資料後,在各個資料Team Dev之間共用資料。
以專案空間所有者帳號安裝開放資料Package。
以使用DataWorks的DataStudio進行安裝為例,登入進入被授權專案的資料開發頁面後,在MaxCompute的ODPS節點執行安裝命令,安裝命令如下。
說明如果被授權安裝開放資料的專案空間為標準模式(開發環境和生產環境隔離),則需要在開發環境和生產環境都安裝DataWorks開放資料Package。
開放資料Package的安裝命令中,需根據實際安裝的地區情況,替換開放資料的u_meta專案名稱和開放資料Package名稱。以下以安裝杭州地區的開放資料Package作為樣本。
-- 在開發環境(work_test_2_dev)安裝杭州地區的開放資料Package。 INSTALL PACKAGE u_meta_hangzhou.systables; -- 在生產環境(work_test_2)安裝杭州地區的開放資料Package。 USE work_test_2; INSTALL PACKAGE u_meta_hangzhou.systables;其中:
u_meta_hangzhou:杭州地區開放資料Package的u_meta專案名稱。
systables:開放資料Package的Package名稱。安裝後,可通過表或視圖採集各維度中繼資料(例如,分區中繼資料、表血緣中繼資料)。
阿里雲提供多個地區的開放資料Package,不同地區的u_meta專案名稱不一致,各地區開放資料Package的u_meta專案名稱可參見附錄2:專案開放列表。不同地區使用開放資料時,均需安裝相應開放資料Package。使用時,請將u_meta專案名稱替換為實際使用的專案名稱。
查看開放資料Package安裝結果。
在已安裝的Packages列表中,找到PackageName(Package名稱)和SourceProject(u_meta專案名稱)與上述步驟一致的Package,且此Package的Status為OK,表明您已成功安裝開放資料Package。
-- 查看專案已安裝的Package是否包含u_meta_hangzhou.systables。 SHOW PACKAGES; -- 輸出範例 +-------------+-----------------+--------------------------+--------+ | PackageName | SourceProject | InstallTime | Status | +-------------+-----------------+--------------------------+--------+ | systables | u_meta_hangzhou | 2020-11-26T15:25:22+0800 | OK | +-------------+-----------------+--------------------------+--------+
查看DataWorks開放資料提供的表或視圖
使用開放資料時,需要輸入完整的表或視圖的名稱,不同版本的開放資料Package可能表或視圖名稱不一致。
執行以下命令,查看當前DataWorks開放資料提供的表或視圖列表,擷取當前表或視圖的名稱和許可權資訊。
DESCRIBE PACKAGE u_meta_hangzhou.systables;以下以在DataWorks的DataStudio工具中執行查詢命令為例,為您樣本查詢命令及查詢結果。
開放資料中的表、視圖名稱中都包含了版本資訊,版本號碼會隨著功能迭代發布而改變,您使用時實際的版本號碼以systables這個Package中的版本為準。例如:raw_v_tenant_user_v1_1 這個開放視圖中,v1_1 是版本號碼。
-- 查看u_meta_hangzhou.systables這個Package中包含的表或視圖。
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為需要查看的表或視圖名稱,您可根據查看DataWorks開放資料提供的表或視圖擷取實際表或視圖的名稱。
DataWorks提供了多種維度資料,包含但不限於:詳細資料、指標資料、維度資料。您可以根據自己的需求,有選擇地擷取並儲存至DataWorks專案中,作為後續資料治理或營運的歷史資料,避免佔用不必要的儲存空間。
以下以使用DataWorks的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: 中繼資料模組Table核心指標 |
+------------------------------------------------------------------------------------+
| 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 '維度:所屬catalog:MaxCompute專案對應值為odps;',
database_name STRING COMMENT '維度:資料庫/ODPS專案名稱',
table_name STRING COMMENT '維度:表名稱',
table_uuid STRING COMMENT '維度:表唯一標識',
owner_yun_acct STRING COMMENT '維度:表Owner雲帳號',
dim_life_cycle BIGINT COMMENT '維度:生命週期,0:未設定生命週期,其他代表生命週期具體的值',
is_partition_table BOOLEAN COMMENT '維度:是否為分區表,true表示為分區表',
entity_type BIGINT COMMENT '維度:實體類型,0:table, 1: view',
categories STRING COMMENT '維度:類目資訊',
last_access_time BIGINT COMMENT '維度:表最後訪問時間(10位UNIX_TIMESTAMP)',
`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 '中繼資料模組Table核心指標' 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 | | 維度:所屬catalog:MaxCompute專案對應值為odps; |
| database_name | string | | 維度:資料庫/ODPS專案名稱 |
| table_name | string | | 維度:表名稱 |
| table_uuid | string | | 維度:表唯一標識 |
| owner_yun_acct | string | | 維度:表Owner雲帳號 |
| dim_life_cycle | bigint | | 維度:生命週期,0:未設定生命週期,其他代表生命週期具體的值 |
| is_partition_table | boolean | | 維度:是否為分區表,true表示為分區表 |
| entity_type | bigint | | 維度:實體類型,0:table, 1: view |
| categories | string | | 維度:類目資訊 |
| last_access_time | bigint | | 維度:表最後訪問時間(10位UNIX_TIMESTAMP) |
| size | bigint | | 表大小,此處指資料佔用的邏輯儲存值,視圖對應儲存量為NULL |
| column_count | bigint | | 欄位數量(含分區列) |
| partition_count | bigint | | 分區數量,對於非分區表該值為NULL |
| detail_view_count | bigint | | 表詳情通過頁面查看的次數 |
| favorite_count | bigint | | 表被添加到收藏的次數 |
| biz_date | string | | 業務資料日期 |
+------------------------------------------------------------------------------------+更多表或視圖的結構明細,請參見附錄1:視圖列表及結構明細。
卸載開放資料Package
以使用DataWorks的DataStudio工具卸載開放資料Package為例,卸載命令如下。
如果被授權安裝開放資料的專案空間為標準模式(開發環境和生產環境隔離),則需要在開發環境和生產環境都卸載DataWorks開放資料Package。
-- 從開發專案(work_test_2_dev)中卸載
UNINSTALL PACKAGE u_meta_hangzhou.systables;
-- 從生產專案(work_test_2)中卸載
USE work_test_2;
UNINSTALL PACKAGE u_meta_hangzhou.systables;後續步驟
完成開放資料Package安裝後,您可使用開放資料擷取中繼資料,以便進一步進行資料治理或營運。使用開放資料可參見使用開放資料。