您可通过MaxCompute的SQL语句及DataWorks提供的可视化方式,创建与管理MaxCompute表。相比SQL方式,可视化方式操作更加便捷。本文为您介绍如何使用可视化方式创建及管理MaxCompute表。
前提条件
已创建MaxCompute数据源并绑定至数据开发(DataStudio)。详情请参见创建MaxCompute数据源、开发前准备:绑定数据源或集群。
背景信息
表操作原则
创建与操作MaxCompute表,遵循MaxCompute表操作的基本要求。例如,表创建成功后不支持产出字段。详情请参见MaxCompute表操作使用限制。
表物理属性变更
MaxCompute表的物理属性变更操作,均可通过MaxCompute SQL命令执行,详情请参见表操作。由于DataWorks上操作MaxCompute存在一定的权限管控,RAM用户(子账号)在某些场景下通过命令操作表会报错,详情请参见MaxCompute数据权限控制详情。
元数据更新延迟
元数据操作可能存在一定延迟,通过可视化方式新建、更新或删除表后,若界面搜索不到表,或删除后表仍可见,可通过数据地图的手工同步工具,手动同步相关操作结果。详情请参见手工同步工具。
进入数据开发(DataStudio)
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入数据开发。
新建MaxCompute表
您可在DataWorks表管理目录中新建,也可在具体业务流程下,针对该业务流程新建相关表。DataWorks支持通过DDL与可视化编辑两种方式分别创建开发表与生产表。
新建表入口
基于表管理新建
基于具体业务流程新建
DataWorks通过业务流程组织与管理代码,您可基于业务流程创建该业务的相关表。若还未创建业务流程,请先参考业务流程创建。在已有业务流程的情况下,可右键单击相应业务流程,选择 。
配置表基本信息
按上述步骤创建表后,将进入表编辑页面。在该页面,DataWorks支持使用DDL及可视化两种方式配置表信息,具体如下:
使用DDL模式配置表
您可单击表编辑页面中的图标,通过MaxCompute标准的建表语句生成MaxCompute表结构。使用DDL生成表结构后,DataWorks便自动填充表编辑页面的相关配置。若您习惯使用代码编写任务,可使用该方式。
说明由于表名称在进入表编辑页面前已定义,因此,在DDL建表命令中不支持修改表名称,否则将报错。
DDL模式仅支持使用命令定义表的物理属性,表的业务属性可在DDL建表完成并将配置填充界面后,在表编辑页面进行二次编辑。
使用可视化界面配置表
您可通过表编辑页面中各项配置指引,依次配置表相关属性。若您希望使用便捷的可视化操作,可使用该方式。下文以可视化操作示例,为您介绍如何配置表的相关信息。
配置基本属性。主要配置项如下。
配置项
说明
中文名
定义表的中文名称。
主题
DataWorks的主题相当于文件夹。定义表所属的一级文件夹与二级文件夹。您可基于业务用途对表进行归类,将同类表挂载至相同文件夹中。
物理模型设计。配置项说明如下。
配置项
说明
层级
表所属的物理数仓分层。层级用于定义和管理数据仓库分层,通常可划分为数据引入层ODS(Operational Data Store)、公共维度层DIM(Dimension)、明细数据层DWD(Data Warehouse Detail)、汇总数据层DWS(Data Warehouse Summary)、应用数据层ADS(Application Data Service)。您可根据表的业务用途,将其挂载至合适的层级。
说明您也可自定义层级。详细操作请参见层级管理。
物理分类
定义表的物理分类,即基于业务使用视角对表进行更详细的分类。通常包括基础业务层、高级业务层和其它。
说明您也可自定义物理分类。详细操作请参见分类管理。
生命周期
定义表生命周期。
分区类型
定义表为分区表还是非分区表。MaxCompute分区表与非分区表介绍,请参见分区。
表类型
定义表为内部表还是外部表。查询表数据时,内部表会导入真实数据,查询数据速度较快;外部表无需导入数据即可查询,较节省内存。MaxCompute内部表与外部表介绍,请参见表。
表结构设计。主要配置项说明如下。
配置
说明
字段类型
定义字段数据类型,仅支持下拉选择MaxCompute支持的数据类型。MaxCompute数据类型介绍,请参见数据类型版本说明。
字段安全等级
定义字段安全等级,仅在MaxCompute项目开启Label级权限控制的情况下,该配置项才可见。MaxCompute字段安全等级介绍,请参见Label权限控制。
主键
定义表业务主键,由于MaxCompute表本身不支持主键,所以此处主键仅作为业务维度进行管理。
提交并发布MaxCompute表
表结构定义完成后,您需将其提交至开发环境与生产环境。
不同模式工作空间,MaxCompute表的提交发布说明如下:
简单模式:仅需将表提交至生产环境。
标准模式:仅空间管理员或运维角色可以发布表至生产环境。如您需发布表至生产环境,则可授予用户相应权限。授权操作,详情请参见添加空间成员并管理成员角色权限。
工作空间模式介绍,详情请参见必读:简单模式和标准模式的区别。
操作 | 描述 |
从开发环境加载 | 用于从开发环境加载开发表的相关信息,并显示至当前页面。 说明 仅当表已被提交至开发环境后,才可执行该操作。执行该操作后,开发环境已创建的表信息会覆盖当前页面的表信息。 |
提交到开发环境 | 提交表至DataWorks的开发环境,即在开发环境所添加的MaxCompute数据源对应的MaxCompute项目中创建当前表。提交成功后,可执行如下操作:
|
从生产环境加载 | 用于从生产环境加载生产表的相关信息,并显示至当前页面。 说明 仅当表已被提交至生产环境后,才可执行该操作。执行该操作后,生产环境已创建的表信息会覆盖当前页面的表信息。 |
提交到生产环境 | 提交表至DataWorks的生产环境,即在生产环境所添加的MaxCompute数据源对应的MaxCompute项目中创建当前表。提交成功后,可执行如下操作:
|
MaxCompute表数据写入与导出
您可参考以下内容进行MaxCompute数据的导入导出。
MaxCompute表数据写入
您可通过数据集成任务、MaxCompute节点任务向MaxCompute表中写入数据,此外,DataWorks还支持通过上传数据功能将本地数据导入MaxCompute表中。
MaxCompute表数据导出
查询MaxCompute表数据
您可使用ODPS SQL节点或临时查询功能,通过SQL语句查询MaxCompute表的数据。
权限预设情况说明
简单模式工作空间无法做到细粒度权限控制及开发生产隔离,本文以标准模式工作空间示例说明。
RAM用户被添加至工作空间成为空间成员后,其数据访问权限预设情况如下。
权限类别 | 描述 |
MaxCompute开发项目权限 | DataWorks通过空间级预设角色与开发环境MaxCompute引擎Role的映射关系,让被授予空间角色的RAM用户(子账号)拥有该角色映射的开发引擎权限,默认拥有开发环境对应的引擎项目权限,但无生产环境对应的引擎项目权限。 |
MaxCompute生产项目权限 | 除被授予调度访问身份的RAM用户(子账号)拥有生产环境MaxCompute项目较大权限外,其他RAM用户(子账号)没有生产环境项目权限。如需操作生产表,请前往安全中心申请权限。 DataWorks为您提供了默认的审批流程,同时,也支持管理者自定义审批流程。 |
更多关于MaxCompute数据访问权限控制说明,请参见MaxCompute数据权限控制详情。
数据访问行为说明
MaxCompute支持跨项目查询表,因此,在数据开发(DataStudio)界面可通过指定项目名称的方式,跨项目查询DataWorks工作空间中的生产数据。跨项目访问表的方式及各界面执行所使用的账号说明,请见下表。
不同环境添加的MaxCompute数据源及环境配置的执行账号,可查看数据开发中的数据源绑定信息,详情请参见开发前准备:绑定数据源或集群。
DataWorks标准模式工作空间下,开发环境默认使用任务执行者个人身份执行任务,生产调度环境默认使用某云账号执行任务,即调度访问身份。详情请参见创建MaxCompute数据源。
代码示例 | 开发环境(数据开发、开发环境运维中心)执行代码 | 生产环境(生产环境运维中心)执行代码 |
访问开发项目中的开发表:
| 使用任务执行者个人云账号访问开发表。
| 使用调度访问身份访问开发表。 |
访问生产项目中的生产表:
| 使用任务执行者个人云账号访问生产表。 说明 由于生产数据安全控制,个人云账号默认无权限访问生产表,需前往安全中心进行申请。DataWorks提供默认审批流程,支持管理者自定义审批流程。 | 使用调度访问身份访问生产表。 |
在目标类型环境(例如,开发环境)执行语句,访问相应环境中的表(即开发表):
| 在开发环境执行时,使用任务执行者个人云账号访问身份,访问开发引擎中目标表。 | 在生产环境执行时,使用调度访问身份,访问生产引擎中目标表。 |
查看MaxCompute数据资产
您可通过以下内容查看MaxCompute相关数据资产。
查看租户下生产表
您可在数据开发的公共表模块,查看当前地域下您阿里云账号中的所有生产表。
查看元数据
您可前往数据地图,查看MaxCompute表详情与元数据信息。
查看表血缘
批量管理MaxCompute表
您可通过以下内容批量管理MaxCompute表。
批量删除MaxCompute表
批量转交表责任人
您可前往数据地图的我的数据,批量转交您个人名下的表。
批量修改表生命周期
您可前往数据地图的我的数据,批量修改您个人名下表的生命周期。
单表生命周期可通过表管理进行修改,详情请参见新建MaxCompute表。
基于业务流程管理表
使用表管理新建的表,可通过导入的方式添加至数据开发具体的业务流程中,并基于业务流程来管理、查看该业务相关的表。具体操作如下图所示。
被引用:指该表在当前业务流程中有被查询(select)。
被写入:指当前业务流程中存在写入数据至该表的操作(insert overwrite)。