您可通过MaxCompute的SQL语句及DataWorks提供的可视化方式,创建与管理MaxCompute表。相比SQL方式,可视化方式操作更加便捷。本文为您介绍如何使用可视化方式创建及管理MaxCompute表。

前提条件

工作空间配置页面绑定MaxCompute引擎后,才可在数据开发(DataStudio)显示MaxCompute目录。详情请参见创建并管理工作空间

背景信息

  • 表操作原则

    创建与操作MaxCompute表,遵循MaxCompute表操作的基本要求。例如,表创建成功后不支持产出字段。详情请参见MaxCompute表操作使用限制

  • 表物理属性变更

    MaxCompute表的物理属性变更操作,均可通过MaxCompute SQL命令执行,详情请参见表操作。由于DataWorks上操作MaxCompute存在一定的权限管控,RAM用户(子账号)在某些场景下通过命令操作表会报错,详情请参见MaxCompute数据权限控制详情

  • 元数据更新延迟

    元数据操作可能存在一定延迟,通过可视化方式新建、更新或删除表后,若界面搜索不到表,或删除后表仍可见,可通过数据地图的手工同步工具,手动同步相关操作结果。详情请参见手工同步工具

进入数据开发(DataStudio)

  1. 登录DataWorks控制台
  2. 在左侧导航栏,单击工作空间列表
  3. 选择工作空间所在地域后,单击相应工作空间后的数据开发

新建MaxCompute表

您可在DataWorks表管理目录中新建,也可在具体业务流程下,针对该业务流程新建相关表。DataWorks支持通过DDL与可视化编辑两种方式分别创建开发表与生产表。

新建表入口

  • 基于表管理新建

    在数据开发(DataStudio)左侧导航栏选择表管理,单击新建图标新建。若左侧导航栏无表管理模块,可参考界面定制添加。

  • 基于具体业务流程新建

    DataWorks通过业务流程组织与管理代码,您可基于业务流程创建该业务的相关表。若还未创建业务流程,请先参考业务流程创建。在已有业务流程的情况下,可右键单击相应业务流程,选择MaxCompute >

配置表基本信息

按上述步骤创建表后,将进入表编辑页面。在该页面,DataWorks支持使用DDL及可视化两种方式配置表信息,具体如下:

  • 使用DDL模式配置表
    您可单击表编辑页面中的ddl图标,通过MaxCompute标准的建表语句生成MaxCompute表结构。使用DDL生成表结构后,DataWorks便自动填充表编辑页面的相关配置。若您习惯使用代码编写任务,可使用该方式。
    说明
    • 由于表名称在进入表编辑页面前已定义,因此,在DDL建表命令中不支持修改表名称,否则将报错。
    • DDL模式仅支持使用命令定义表的物理属性,表的业务属性可在DDL建表完成并将配置填充界面后,在表编辑页面进行二次编辑。
  • 使用可视化界面配置表
    您可通过表编辑页面中各项配置指引,依次配置表相关属性。若您希望使用便捷的可视化操作,可使用该方式。下文以可视化操作示例,为您介绍如何配置表的相关信息。
    1. 配置基本属性。配置表基本属性主要配置项如下。
      配置项说明
      中文名定义表的中文名称。
      主题DataWorks的主题相当于文件夹。定义表所属的一级文件夹与二级文件夹。您可基于业务用途对表进行归类,将同类表挂载至相同文件夹中。
      说明 一级主题、二级主题仅为DataWorks上表管理文件夹的呈现形式,旨在方便您更好地管理表。 后续在表管理页面可通过主题快速查找当前表,如果没有可用的主题,可参考定义表主题新建。
    2. 物理模型设计。物理模型设计配置项说明如下。
      配置项说明
      层级表所属的物理数仓分层。层级用于定义和管理数据仓库分层,通常可划分为数据引入层ODS(Operational Data Store)、公共维度层DIM(Dimension)、明细数据层DWD(Data Warehouse Detail)、汇总数据层DWS(Data Warehouse Summary)、应用数据层ADS(Application Data Service)。您可根据表的业务用途,将其挂载至合适的层级。
      说明 您也可自定义层级。详细操作请参见层级管理
      物理分类定义表的物理分类,即基于业务使用视角对表进行更详细的分类。通常包括基础业务层、高级业务层和其它。
      说明 您也可自定义物理分类。详细操作请参见分类管理
      生命周期定义表生命周期。
      分区类型定义表为分区表还是非分区表。MaxCompute分区表与非分区表介绍,请参见分区
      表类型定义表为内部表还是外部表。查询表数据时,内部表会导入真实数据,查询数据速度较快;外部表无需导入数据即可查询,较节省内存。MaxCompute内部表与外部表介绍,请参见
    3. 表结构设计。表结构主要配置项说明如下。
      配置说明
      字段类型定义字段数据类型,仅支持下拉选择MaxCompute支持的数据类型。MaxCompute数据类型介绍,请参见数据类型版本说明
      字段安全等级定义字段安全等级,仅在MaxCompute项目开启Label级权限控制的情况下,该配置项才可见。MaxCompute字段安全等级介绍,请参见Label权限控制
      主键定义表业务主键,由于MaxCompute表本身不支持主键,所以此处主键仅作为业务维度进行管理。

提交并发布MaxCompute表

表结构定义完成后,您需将其提交至开发环境与生产环境,提交成功后才可在对应环境的引擎项目查看该表。
说明 若使用简单模式的工作空间,仅需将表提交至生产环境。简单模式与标准模式工作空间的介绍,详情请参见必读:简单模式和标准模式的区别
操作描述
从开发环境加载用于从开发环境加载开发表的相关信息,并显示至当前页面。
说明 仅当表已被提交至开发环境后,才可执行该操作。执行该操作后,开发环境已创建的表信息会覆盖当前页面的表信息。
提交到开发环境提交表至DataWorks的开发环境,即在开发环境所绑定的MaxCompute引擎中创建当前表。提交成功后,可执行如下操作:
从生产环境加载用于从生产环境加载生产表的相关信息,并显示至当前页面。
说明 仅当表已被提交至生产环境后,才可执行该操作。执行该操作后,生产环境已创建的表信息会覆盖当前页面的表信息。
提交到生产环境提交表至DataWorks的生产环境,即在生产环境所绑定的MaxCompute引擎中创建当前表。提交成功后,可执行如下操作:

MaxCompute表数据写入与导出

您可参考以下内容进行MaxCompute数据的导入导出。

MaxCompute表数据写入

您可通过数据集成任务MaxCompute节点任务向MaxCompute表中写入数据,此外,DataWorks还支持通过上传数据功能将本地数据导入MaxCompute表中。

MaxCompute表数据导出

在数据开发(DataStudio)查询数据后,您可通过查询结果界面的下载入口将表数据导出至本地。默认单次最多可下载1W条数据,租户管理员、租户安全管理员可前往安全中心的数据查询与分析管控界面,设置单次可下载条数的上限。
说明 超过1W条的数据,可通过MaxCompute客户端导出,使用Tunnel命令命令导出。

查询MaxCompute表数据

您可使用ODPS SQL节点临时查询功能,通过SQL语句查询MaxCompute表的数据。

权限预设情况说明

简单模式工作空间无法做到细粒度权限控制及开发生产隔离,本文以标准模式工作空间示例说明。
RAM用户被添加至工作空间成为空间成员后,其数据访问权限预设情况如下。
权限类别描述
MaxCompute开发项目权限DataWorks通过空间级预设角色与开发环境MaxCompute引擎Role的映射关系,让被授予空间角色的RAM用户(子账号)拥有该角色映射的开发引擎权限,默认拥有开发环境对应的引擎项目权限,但无生产环境对应的引擎项目权限。
MaxCompute生产项目权限除被授予调度访问身份的RAM用户(子账号)拥有生产环境MaxCompute项目较大权限外,其他RAM用户(子账号)没有生产环境项目权限。如需操作生产表,请前往安全中心申请权限。

DataWorks为您提供了默认的审批流程,同时,也支持管理者自定义审批流程。

更多关于MaxCompute数据访问权限控制说明,请参见MaxCompute数据权限控制详情

数据访问行为说明

MaxCompute支持跨项目查询表,因此,在数据开发(DataStudio)界面可通过指定项目名称的方式,跨项目查询DataWorks工作空间中的生产数据。跨项目访问表的方式及各界面执行所使用的账号说明,请见下表。
说明
  • 不同环境绑定的引擎项目及环境配置的执行账号,可查看工作空间引擎绑定信息,详情请参见绑定MaxCompute引擎
  • DataWorks标准模式工作空间下,开发环境默认使用任务执行者个人身份执行任务,生产调度环境默认使用某云账号执行任务,即调度访问身份。详情请参见绑定MaxCompute引擎
代码示例开发环境(数据开发、开发环境运维中心)执行代码生产环境(生产环境运维中心)执行代码
访问开发项目中的开发表:
select col1 from projectname_dev.tablename;
使用任务执行者个人云账号访问开发表。
  • RAM用户(子账号)执行相关任务,则使用RAM用户(子账号)个人云账号访问开发表。
  • 阿里云主账号执行相关任务,则使用阿里云主账号访问开发表。
使用调度访问身份访问开发表。
访问生产项目中的生产表:
select col1 from projectname.tablename;
使用任务执行者个人云账号访问生产表。
说明 由于生产数据安全控制,个人云账号默认无权限访问生产表,需前往安全中心进行申请。DataWorks提供默认审批流程,支持管理者自定义审批流程。
使用调度访问身份访问生产表。
在目标类型环境(例如,开发环境)执行语句,访问相应环境中的表(即开发表):
select col1 from tablename;
在开发环境执行时,使用任务执行者个人云账号访问身份,访问开发引擎中目标表。在生产环境执行时,使用调度访问身份,访问生产引擎中目标表。

查看MaxCompute数据资产

您可通过以下内容查看MaxCompute相关数据资产。

查看租户下生产表

您可在数据开发的公共表模块,查看当前地域下您阿里云账号中的所有生产表。

查看元数据

您可前往数据地图,查看MaxCompute表详情与元数据信息。

查看表血缘

数据地图表详情页,您可查看该表的上下游血缘。
说明 若要定位空间下操作该表的任务,可通过代码搜索功能进行检索。

批量管理MaxCompute表

您可通过以下内容批量管理MaxCompute表。

批量删除MaxCompute表

您可前往数据地图的我的数据,批量删除您个人名下的表。
说明 由于生产数据安全管控,您无法直接通过命令删除生产表。若要删除非您名下的表,需前往安全中心申请表权限。

批量转交表责任人

您可前往数据地图的我的数据,批量转交您个人名下的表。

批量修改表生命周期

您可前往数据地图的我的数据,批量修改您个人名下表的生命周期。
说明 单表生命周期可通过表管理进行修改,详情请参见新建MaxCompute表

基于业务流程管理表

使用表管理新建的表,可通过导入的方式添加至数据开发具体的业务流程中,并基于业务流程来管理、查看该业务相关的表。具体操作如下图所示。从引擎添加
  • 被引用:指该表在当前业务流程中有被查询(select)。
  • 被写入:指当前业务流程中存在写入数据至该表的操作(insert overwrite)。