创建表有三种方式:新建表、可视化建表和ODPS_SQL脚本建表。
1)进入数据开发页面,导航至新建>新建表,如下图所示:
2)在弹出框中输入建表语句,单击确定,即可新建表。
建表成功后,您可在左侧的表查询模块,找到新建的表进行查询,详情请参见表查询。
注意:
① 新建表中仅支持编辑并执行一条建表语句,如果编辑多个语句,仅执行“;”前的第一句。
② 建表语句需要使用Maxcompute SQL语法,该语法与标准SQL有所不同,详情请参见与标准SQL的主要区别及解决方法,建表语句请参见DDL语句。
有两种方式进入可视化建表页面,如下所示:
a. 进入新建>新建表页面后,单击弹出框中的可视化建表,如下图所示:
b. 按照可视化建表页面进行操作,即可成功建表,如下图所示:
a. 进入数据管理>数据表管理页面,单击右上角的新建表,如下图所示:
b. 按照可视化建表页面进行操作,即可成功建表,如下图所示:
如果您习惯编辑SQL语句,或希望一次运行多个建表语句,或需要修改表结构等,可通过ODPS_SQL脚本进行脚本开发,详情请参见脚本开发。
新建一个类型为ODPS_SQL的脚本文件,在编辑区填写任意ODPS_SQL语句(包括新建或修改表的DDL语句)并单击直接运行,建表语句请参见DDL语句。
查看表的方式有两种:表查询和查找数据,详情如下:
建表成功后,单击数据开发页面左侧导航栏的表查询,找到新建的表进行查询,详情请参见表查询。
建表成功后,单击数据管理页面左侧导航栏的查找数据,搜索表名,找到新建的表进行查询,如下图所示:
DataWorks(数据工场,原大数据开发套件)提供了 2种 任务类型 7种 节点类型:
1)任务类型:节点任务和工作流任务。
2)节点类型:虚节点类型,ODPS_SQL 节点类型,SHELL 节点类型,数据同步节点类型,机器学习节点类型,ODPS_MR 节点类型和 OPEN_MR 节点类型。
节点任务 支持单个节点类型适应不同的业务需求。
工作流任务 可以包含多个不同类型的节点及相互关系,共同完成一个比较复杂的数据计算任务。
本文以创建 ODPS_SQL 节点任务为例,介绍如何创建一个节点任务并编辑代码内容。更多任务类型的使用请参见 任务类型示例。
1)用下图所示的任意一种方式,单击 新建任务。
2)填写新建任务弹出框中的配置项。
配置项说明:
i)任务类型:选择节点任务。
ii)类型:选择 ODPS_SQL。
iii)调度类型选择周期调度。
注意:节点任务的调度类型只能选择周期调度,表明该任务如果提交成功,则代码将进入调度系统并按调度属性周期运行。
注意:编写 DDL、DML 语句时,如果涉及到新的数据类型,比如创建或查看的目标表中有新类型时,请在 SQL 前加上 set odps.sql.type.system.odps2=true
。
ODPS_SQL 任务创建好后,可以在代码编辑器中编写 MaxCompute SQL 语句(该 SQL 的语法为 MaxCompute SQL,与传统 SQL 语法有所不同,详细差异请参考注释)。
编写调试的 MaxCompute SQL 语句后,单击 保存,下次打开该节点即可继续编辑。
由于节点任务有周期调度属性,因此内容建议以计算类语句为主,表操作语句建议使用 可视化建表 和 脚本开发 等其他功能来运行和维护。
编写 MaxCompute SQL 语句,如下所示:
select * from bank_data;
编写调试代码过程中,DataWorks 还提供了快捷键功能,快捷键列表请参考 代码编辑器 常用快捷键。
1)更多 MaxCompute SQL 语法请参见 MaxCompute SQL 概要。
2)MaxCompute SQL 限制请参见 MaxCompute SQL 限制项汇总。
3)MaxCompute SQL 与标准 SQL 语法差异请参见 MaxCompute SQL 与标准 SQL 的主要区别及解决方法。
4)查询结果只展示 10000条 数据,若需要下载全部数据,请参见 Tunnel 命令。
5)在 SQL 节点中,支持直接使用 SET 语法。
6)如果执行的是多个 SQL 语句,会根据顺序依次下发执行。
注意:
① 如果选中要运行的代码中包含 set 语句,在页面运行时,执行每一条非 set 语句前都会依次执行这些 set 语句。
② 任务中全部代码执行时也是同样的处理。
为使节点周期运行并在每次运行时适应上下文环境,需要为节点配置时间周期和参数。
DataWorks(数据工场)提供了丰富的 时间周期 和 依赖关系 支持,并提供了 基于时间的系统参数和自定义参数 支持,请参考相应文档选择适合您业务需要的配置方式。
代码和参数配置调试完毕后,一个周期任务需要 提交成功 以后才会触发调度系统按配置周期定时产生运行实例并执行代码,提交任务的具体操作请参见 提交任务。
DataWorks(数据工场,原大数据开发套件)目前支持 4 种方式来使一个任务中的代码对数据生效:页面直接运行,测试运行,系统自动周期运行和补数据运行。这些运行方式的差别和适用场景,请参见 数据开发概述。
页面直接运行适用于代码调试修改,不考虑调度属性配置的情况,或者是不需要提交的直接运行的对象如 脚本开发 等。本文将以 ODPS_SQL 节点任务为例,说明如何在代码编辑页面直接运行。
注意:
① 仅 ODPS_SQL、OPEN_MR、ODPS_MR、SHELL 4 种节点类型支持页面直接运行,其他类型不支持页面直接运行。
② 页面直接运行时,任务执行在默认资源组上,若有需要执行在自定义资源组上的任务,请使用 测试运行。
双击一个 ODPS_SQL 任务打开编辑区,选择您想要执行的部分语句,然后在操作区单击 运行 按钮即可触发选定代码执行。如果不选择部分代码,而是直接单击 运行,则会默认运行当前任务的全部代码。
运行 ODPS_SQL 节点类型会消耗一定的计算资源和部分存储资源,从而产生费用。因此在正式执行一个 ODPS_SQL 节点任务之前,后付费用户 会看到消费提醒对话框,消费提醒会逐行预估可能的费用,您确认后任务才会开始运行。
注意:
① 请务必知晓:此消费提醒页面预估的费用仅供参考,以便您判断当前运行可能消耗的费用,实际费用请以最终账单为准。
② 目前在 DataWorks(数据工场)支持的任务和节点类型中,仅 MaxCompute 需要收费,因此仅 ODPS_SQL 类型的任务支持 消费提醒 的功能。
任务触发运行后,在编辑区下方会显示日志页,如果有语句的运行结果返回了数据集,则在日志页旁显示结果页。结果页支持按行或按列复制等功能,经过项目配置后也支持结果下载。
无论运行几次,日志页只有一个,仅显示最近一次触发运行的日志信息,之前的日志会被覆盖。结果页可以存在多个,按语句执行顺序依次显示,最多可以显示 20 个结果页,方便您进行对比数据等操作。
多个语句触发执行时,这些语句将 串行 执行,日志内容依次显示在日志页中,结果则按每个语句的执行顺序分别显示在不同的结果页中。
注意:
如果选中要运行的代码中包含 set 语句,在页面运行时,执行每一条非 set 语句之前都会依次执行这些 set 语句,任务中全部代码执行时也是同样的处理。其他运行方式没有此逻辑而是按顺序依次串行执行。
触发运行后如有数据返回,将在编辑区下发的结果页显示。结果页可以分页查看返回的数据集,支持选中部分数据复制,或全量数据下载。
1)管理员在项目配置中开通下载功能后方可使用。如果当前项目不开放下载功能,则 下载 按钮不可见。
2)运行 select 语句时系统默认仅获取数据集的前 10000 条 记录,故请控制每次查询产生的记录数。如需一次性获取超过 10000 条的记录数,请参见 MaxCompute SQL 运行结果的导出方法汇总。
提交任务操作,使得一个周期任务的代码和周期配置进入调度系统,从第二天开始,调度系统将根据该任务的周期配置每天生成实例并定时运行,直到该任务被删除,调度系统才会停止为该任务生成实例并运行。
注意:
① 新增或修改任务时,如果 当天23点30前 提交成功,则在 第二天 的实例中即可看到结果;如果 当天23点30后 提交成功,则在第三天的实例中才会看到结果。
② 一个周期任务只有 提交成功 后才会进入调度系统,从而使得调度系统按配置周期定时产生实例并运行。
1)以 新建任务 中的 ODPS_SQL 节点任务为例,双击打开该任务, 单击 提交 按钮,如下图所示:
2)单击弹出框中的 确认提交,如下图所示:
任务提交以后,可以前往 运维中心 — 任务管理 查看该任务。
1)单击左侧 任务管理 列表中要查看的任务名称,该任务即会在右侧的任务视图打开,如下图所示:
2)右键单击任务视图中的任务,选择 查看节点代码,如下图所示:
3)确认任务代码成功提交到调度系统中,如下图所示:
在 ODPS_SQL 节点中,可以查看到您曾经提交过的 ODPS_SQL 节点任务的代码,单击右侧的 调度配置,将列表下拉至 节点版本 中,即可查看提交到调度系统中的代码。如下图所示:
您还可以选择提交过的两个代码版本进行对比,查看代码有哪些不同。如下图所示:
注意:任务只能选择两两进行对比,无法选择更多任务。
DataWorks(数据工场,原大数据开发套件)目前支持4种方式来使一个任务中的代码对数据生效:页面直接运行,测试运行,系统自动周期运行和补数据运行。这些运行方式的差别和适用场景,请参见数据开发概述。
测试运行适用于检查任务提交后,正式作为生长任务长期使用之前,手动触发调度系统运行,以便检查参数替换和代码执行的情况。本文将以ODPS_SQL节点任务为例,说明如何触发一个周期任务的测试运行。
注意:
测试运行支持将任务运行在指定资源组上,若需要将任务运行在自定义资源组上,您可在运维中心>任务管理中找到该任务,选择修改资源组,修改成功后,任务将运行在指定的资源组上。
以新建任务中的ODPS_SQL节点任务为例,双击打开该任务,单击测试运行按钮。如下图所示:
查看测试实例有两种方式,如下所示:
a. 单击测试运行按钮触发执行,确认后,会弹出提示框提示,单击前往运维中心,即可查看任务运行状态,任务运行日志等。
b. 进入运维中心>任务运维>测试实例页面,搜索您的任务名从而找到对应的实例如下:
选中测试实例,然后右键单击,选中查看日志,即可看到运行中打印的信息。如下图所示:
如果实例运行成功,您将在日志末尾看到如下内容:
如果实例运行失败,您可在日志页面使用快捷键Ctrl+F,触发内容搜索框,然后搜索Error或者Exception等关键字查看报错信息,并根据提示修改代码。
为了提高数据开发效率和代码复用的正确率,DataWorks(数据工场,原大数据开发套件)提供了 克隆任务 功能。
1)进入数据开发页面的左侧导航栏 任务开发 中,右建单击选中的任务,单击 克隆,如下图所示:
2)在弹出框中输入克隆后的任务名,选择调度类型,并指定克隆后的任务存放的目录,然后单击 执行复制。如下图所示:
3)复制成功后,即可在指定目录下找到克隆后的任务,如下图所示:
该任务与克隆前的任务有相同的代码内容,以及上游的依赖关系,下游依赖不会被复制。
如果您在编辑过程中想要放弃一个任务编辑版本,或者周期任务提交后想从调度系统中去掉该任务的自动运行,您可以选择 删除任务。
1)进入数据开发页面的左侧导航栏 任务开发 中,右键单击选中的任务,选择 删除,如下图所示:
2)若选中的周期任务已提交,则在单击 删除 后,会弹出一个确认删除的提示框,勾选 此项操作不可恢复,我已知晓并确认风险! 后,单击 确认删除任务。如下图所示:
确认删除后,该任务在数据开发页面的编辑版本会被删除,并且调度系统中不会再为此任务自动生成周期实例。
注意:
调度系统为保证任务运维可追溯,不删除最近若干天的实例。因此,如果一个任务被删除,则其当天的实例不会被删除,但是会全部运行失败,报错信息如下图所示: