DataWorks为您提供开放数据功能,使用开放数据采集元数据前,您需在项目中安装开放数据Package。本文为您介绍如何安装开放数据Package,以及安装后如何查看安装结果。
使用限制
当前开放数据功能正在火热公测中,仅DataWorks企业版及以上版本支持使用开放式数据功能,其他版本不支持安装开放数据Package。
当前开放数据仅支持在MaxCompute计算引擎中应用,其他引擎暂时不支持使用DataWorks开放数据采集元数据信息。
安装开放数据Package
获取权限。
安装开放数据Package前,您需获取到使用授权。您可单击提交工单,向阿里云DataWorks技术人员提供待授权的项目信息。技术人员为此项目授权后,此项目可安装并使用开放数据采集元数据信息。
说明提交工单时,请提供阿里云UID,工作空间名称,工作空间ID和工作空间所在的地域信息。
关于待授权项目,建议满足以下条件:
是具有完善的权限管理机制的项目,避免后续使用开放数据采集到的元数据被随意分享,造成数据泄露。
是公司或团队内可以共享使用的项目,以便从DataWorks获取到元数据后,在各个数据开发团队之间共享数据。
以项目空间所有者账号安装开放数据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安装后,您可使用开放数据采集元数据,以便进一步进行数据治理或运维。使用开放数据可参见使用开放数据。