本文将为您介绍如何对数据表进行创建、提交和查询等操作,以及大数据数据分层的基础知识。

新建表

  1. 单击左侧导航栏中的表管理
  2. 选择+新建表。

  3. 输入表名,单击提交
    说明 目前仅支持新建ODPS表。


  4. 设置表的基本属性。

    配置 说明
    中文名 表的中文名称。
    一级主题 新建表所处的一级目标文件夹名称。
    说明 一级、二级主题仅仅是DataWorks上文件夹的摆放形式,目的是为了您能更好地管理您的表。
    二级主题 新建表所处的二级目标文件夹名称。
    新建主题
    单击新建主题,跳转至主题管理页面,您可以在该页面创建一级主题、二级主题。

    描述 针对新建表的描述。
  5. 创建表。

    您可以通过以下两种方式创建表:

    • 使用DDL模式创建表。
      单击DDL模式,在对话框中输入标准的建表语句

      编辑好建表语句后,单击生成表结构,即可自动填充基本属性、物理模型设计、表结构设计中的相关内容。

    • 使用图形界面创建表。
      如果不适用于DDL模式建表,您也可以使用图形界面直接建表,相关设置说明如下。
      分类 配置 说明
      物理模型设计 表类型 包括分区表和非分区表两种类型。
      保存周期 即MaxCompute的生命周期功能。填写一个数字表示天数,该表(或分区)超过一定天数,未更新的数据会被清除。
      层级 通常可以分为DW、ODS和RPT三个层级。

      关于物理层级的相关信息请参见数仓分层

      物理分类 包括基础业务层、高级业务层和其他。
      单击新建层级,跳转至层级管理页面,即可在此新增层级。
      说明 物理分类仅为方便您的管理,不涉及底层实现。
      表结构设计 字段英文名 字段英文名,由字母、数字和下划线组成。
      中文名 字段的中文名称。
      字段类型 MaxCompute数据类型,仅支持STRING、BIGINT、DOUBLE、DATETIME和BOOLEAN类型,详情请参见数据类型
      描述 字段的详细描述。
      主键 勾选表示该字段是主键,或者是联合主键的其中一个字段。
      添加字段 新增一列字段。
      删除字段 删除已经创建的字段。
      说明 已经创建的表,删除字段重新提交时,会要求删除当前表,再去建一张同名表,在生产环境中禁止该操作。
      上移 调整未创建的表的字段顺序。如果为已经创建的表调整字段顺序,会要求删除当前已经创建的表,再去建一张同名表,在生产环境中禁止该操作。
      下移 上移操作。
      添加分区 可以给当前的表新建一个分区。如果为已经创建的表添加分区,会要求删除当前已经创建的表,再去建一张同名表,该操作在生产环境中禁止。
      删除分区 可以删除一个分区。如果删除已创建的表的 分区,会要求删除当前已经创建的表,再去建一张同名表,在生产环境中禁止该操作。
      操作 包括针对新增字段的确认提交和删除,以及更多属性编辑。
      更多属性主要是数据质量相关的信息,提供给系统用于生成校验逻辑。将会用于Data Profiling、SQLScan、测试规则生成等场景。
      • 允许为零:勾选表示该字段的值允许为零,仅针对BIGINT和DOUBLE类型的字段。
      • 允许为负数:勾选表示该字段的值允许为负数,仅针对BIGINT和DOUBLE类型的字段。
      • 安全等级:安全等级为0~4,数字越大代表安全要求越高。如果您的安全等级未达到数字要求,则无法访问表格对应字段。
      • 单位:指金额单位,元或者分。非金额含义的字段不必填此项。
      • Lookup表名/键值:适用于枚举值型的字段(例如会员类型、状态等)。您可以填该字段对应的字典表(即维表)的表名称,例如会员状态对应的字典表名是dim_user_status。

        如果您采用的是全局唯一的字典表,此处应填本字段在字典表中对应的key_type键值类型,例如会员状态对应的键值是TAOBAO_USER_STATUS。

      • 值域范围:本字段适用的最大值、最小值,仅针对BIGINT和DOUBLE类型的字段。
      • 正则校验:本字段使用的正则表达式。例如是手机号码字段,则可以通过正则表达式来约束它的值为11位数字(乃至更严格的约束)。
      • 最大长度:字段值的最大字符个数,仅针对STRING类型的字段。
      • 日期精度:日期值的实际精度,时、日、月等。例如月汇总表中的month_id的精度是月,尽管它存的值是例如2014-08-01(看起来精度是日)。适用于DATETIME类型或以STRING类型存放的日期值。
      • 日期格式:仅适用于以STRING类型存放的日期值。用类似于yyyy-mm-dd hh:mi:ss的方式来描述该字段实际存放的日期值的格式。
      • KV主分隔符/次分隔符:适用于由一串KV对拼凑而成的大字段(STRING类型)。例如商品扩展属性,里面存放的值类似“key1:value1;key2:value2;key3:value3;…”,分号(;)是该字段的主分隔符(表示KV对之间的分隔符),冒号(:)是次分隔符(表示一个KV对里面的Key和Value的分隔符)。
      分区字段设计
      说明 当物理模型设计选择分区表后才显示分区字段设计。
      字段类型 建议统一采用STRING类型。
      日期分区格式 如果该分区字段是日期含义(尽管数据类型可能是STRING),则一个或自填一个日期格式,常用格式为yyyymmmdd、yyyy-mm-dd。
      日期分区粒度 支持的分区粒度有秒/分/时/日/月/季度/年。创建分区粒度根据需要可自行填写,如果需要填写多个分区粒度,则默认粒度越大,分区等级越高。例如同时存在日、时、月三个分区,多级分区关系是一级分区(月),二级分区(日),三级分区(时)。

提交表

编辑完表结构信息后,即可将新建表提交到开发环境和生产环境。
配置 说明
从开发环境加载 如果该表已经提交到开发环境之后,该按钮会高亮。单击后,会用开发环境已经创建的表信息覆盖当前的页面信息。
提交到开发环境 首先会检查当前编辑页面的必填项是否已经填写完整,如果有遗漏会告警,禁止提交。
从生产环境加载 已经提交到生产环境的表的详细信息会覆盖当前页面。
提交到生产环境 会在生产环境的project中创建这张表。

表分类查询

表管理查询支持开发环境、生产环境的筛选条件,查询结果以文件夹为主题展示。

  • 开发环境:仅查询开发环境的表。
  • 生产环境:仅查询生产环境的表,生产环境表请谨慎操作。
说明tmp_pyodps开头的表为PyODPS节点任务在执行过程中产生的临时表,不会被自动删除。您可以通过使用脚本或SQL语句定期清除PyODPS临时表。

修改表名

您的表在创建之后,如果还未提交,可以通过在图形界面删除重建的方式修改表名。如果已经提交表到开发或生产环境,您可以通过odpscmd客户端,使用ALTER语句修改表名。

数仓分层

表管理中的物理模型设计用于为您构建您的数仓分层,让您在管理数据时能对数据有更加清晰的规划和掌控。DW、ODS和RPT三个层级是常见的数仓分层方法。

  • ODS数据运营层
    ODS数据运营层用于操作数据存储,是最接近数据源中的数据的一层。数据源中的数据,经过抽取、洗净、传输(ETL)之后导入本层。ODS的数据通常可按照源头业务系统的分类方式而分类。
    说明 ODS层的数据不等同于原始数据。在源数据装入这一层时,要进行诸如去噪、去重、去除脏数据、业务提取和单位统一等多项工作。
  • DW数据仓库层

    DW数据仓库层是数据仓库的主体。在DW层,从ODS层中获得的数据,根据主题建立各种数据模型。

  • RPT数据产品层

    RPT数据产品层提供数据产品、数据挖掘和数据分析使用的数据结果,供线上系统使用。例如报表数据或宽表,通常存放在RPT层。