快速入门
SQL任务快速开始
本节以创建SparkSQL任务为例,介绍如何创建一个任务并编辑代码内容。更多任务类型的使用请参见 任务类型。
- 新建SparkSQL任务
进入"数据开发
"菜单,点击"新建离线任务
"按钮,并填写新建任务弹出框中的配置项,配置项说明:
- 任务名称:需输入英文字母、数字、下划线组成,不超过64个字符。
- 任务类型:选择SparkSQL。
- 存储位置:在页面左侧的任务存储结构中的位置。
- 描述:长度不超过200个的任意字符。
点击"保存
",弹窗关闭,即完成了新建任务,同时系统自动打开新建的SparkSQL任务。
- 编辑任务代码
任务创建好后,可以在代码编辑器中编写SQL语句(SparkSQL语法与Hive SQL基本相同,与传统关系型数据库的SQL语法有所不同,详细的SQL编辑说明请 Hive SQL的编码说明)。 编写的SQL语句示例如下:
select * from bank_data;
SQLCopied!
查询结果最多只展示1000条数据,可将查询结果下载至本地(仅支持部分SQL类任务),离线开发不支持在页面上下载大量数据。
如果执行的是多个SQL语句,会根据顺序依次下发执行,如果需要在一个session中运行,请参考高级运行一节
SQL编写时支持语法提示:关键字提示、库名提示、表名提示、字段名提示、函数提示,用户编辑SQL代码时,编辑器可实时监测语法错误,并提示红色波浪线进行语法错误提示
- 配置节点任务的调度属性
离线开发提供了丰富的时间周期和依赖关系支持,并提供了基于时间的系统参数和自定义参数支持,请参考 调度属性配置文档。代码和参数配置调试完毕后,一个周期任务需要发布以后才会触发调度系统按配置周期定时产生运行实例并执行代码,提交任务的具体操作请参见发布任务。为使周期任务运行并在每次运行时适应上下文环境,需要配置时间周期和参数。
由于节点任务有周期调度属性,因此内容建议以计算类语句为主,DDL语句建议通过脚本操作,或在语句中使用 IF EXISTS /IF NOT EXISTS
等语法,防止在周期调度过程中产生语法错误
- 运行任务
在当前任务打开的状态下,选择想要执行的部分语句,单击编辑器左上角的「运行」按钮,可触发选定代码执行。如果不选择部分代码,而是直接单击「运行」,则会默认运行当前任务的全部代码。
数据同步快速开始
MySQL数据库增量同步
经 [数据源管理]的数据源配置后,即可以从已配置的数据源中读取或写入数据。下面以MySQL→HDFS,并由本平台访问HDFS中的数据为例,介绍操作流程。
MySQL导入HDFS
进入 [数据开发]模块,进行如下配置:
- 数据来源: 类型选择MySQL,并选中刚刚配置的数据源
dataSourceExample
,选择其中的表tableAge
,数据过滤规则、切分键不填写。 - 选择目标:类型选择HDFS,并选中刚刚配置的数据源
hdfsSourceExample
,其他配置参数为:- 路径:需要填写的格式为
user/hive/warehouse/项目名称.db
。 - 分隔符:用户自定义,或者不填写,不填写时,会采用HIVE默认的分隔符
\001
。 - 编码:可选择UTF-8或GBK。
- 文件名:这里实际上填写的是hive中的表名(本例子中填写为
tableNameAge
)。 - 文件类型:支持TEXT和ORC类型。
- 主键冲突规则:即执行数据同步时,若出现主键冲突,则报错或忽略。
- 路径:需要填写的格式为
- 字段映射: 通过映射的方式,将左右2侧的字段映射起来,用户可通过同名映射或同行映射快速配置。对于HDFS文件,可能出现无法读取字段的问题,用户需手动配置每个HDFS字段。
- 配置调度周期与依赖关系:在右侧的任务面板中配置任务的生效日期、调度日期、起调时间、需依赖的上游任务、自依赖等信息,详细配置方式请参考 [调度属性配置]。
- 发布任务:确认任务信息无误后,提交执行,发布成功后,此任务不会立即执行,而是会在当天(或第二天)的22:00生成任务实例,待执行条件满足后才执行,如果需要数据同步任务立即执行,请参考 [运行任务]中的补数据。
执行数据同步任务
任务提交成功后,为了立即执行,需在 [任务管理]中设置补数据任务,即可立即进行数据同步。
新建hive表,并读取数据
在 [任务管理]模块中进行如下操作:
点击新建表,建立内部表或外部表,内部表与外部表的区别请参考 [QA]。或点击DDL建表,通过SQL的形式建表。
新建表的表名,必须与[MySQL导入HDFS]中的文件名对应,否则会导致无法关联到对应的文件,造成表中没有数据。
新建表的编码格式,路径等信息,也必须与[MySQL导入HDFS]中的编码格式、路径对应起来,否则会造成无法关联到对应的文件,造成表中没有数据或编码错误。
新建表的字段信息,必须与数据同步任务中的字段对应,否则会造成无法关联到对应的文件。
建表成功后,即实现当前表与HDFS数据之间的关联,即可以在[数据开发]中的任意一个SQL查询到数据。
:::tip
新建hive表的注意事项新建hive表,并读取数据与执行数据同步任务两个步骤不区分先后顺序,但数据同步任务时填写的路径、文件名、编码等参数需要与建hive表时的路径、表名、编码对应起
:::
在本例中,主键冲突规则的配置生效,是依赖于MySQL中 tableAge 的主键,