SQL-画布作业提供了九种注册离线表时所选数据源表类型,包括table-postgresql、table-mysql、table-hbase、table-elasticsearch、table-hive、table-greenplum、table-oracle、table-dm、table-vertica。
各类型数据源组件需配置的基本属性参数相同,说明如下:
表名:从下拉框中选择表,可选的表为注册的离线表中该数据源类型的表。下拉框中展示的表名由注册时所用schema与表名拼接组成。
表别名:为所选表配置别名,在SQL语句中使用。
SQL-画布作业提供了七种操作,包括过滤、分组、排序、连接、集合、落地、导出,各操作的配置参数不同,详细说明请参见下表。
表-1 操作组件配置参数介绍
操作组件 |
说明 |
过滤 |
该组件可以对所选离线表的记录进行过滤操作。该组件在画布作业生成的SQL语句中对应where条件子句 支持设置多个过滤条件,点击 在画布中,该组件节点有且只能有一个上级节点 过滤配置参数的说明如下:
注意:离线作业过滤时,time需输入'1970-01-01 01:00:00'格式,bit需输入1、0,如果输入true、false作业会运行失败。 |
分组 |
该组件可以对所选离线表的记录进行分组操作,按照字段进行分组,并可结合having表达式一起使用。该组件在画布作业生成的SQL语句中对应group by等分组子句 分组配置参数的说明如下:
|
排序 |
该组件可以对离线表的记录进行排序计算。该组件在画布作业生成的SQL语句对应的是Order by 、Sort by等排序子句 如排序组件后还需要继续接排序组件,则配置参数中的“排序类型”需选择SORT BY或DISTRIBUTE BY 在画布中,该组件节点有且只能有一个上级节点 排序配置参数的说明如下:
|
连接 |
该组件可以对离线表的记录进行连接计算,提供了内部连接、左侧连接、右侧连接、全连接、普通连接、左半连接等连接计算类型。该组件在画布作业生成的SQL语句中对应的是join子句,如inner join、left outer join、right outer join、full outer join、join、left semi join语句 在画布中,该组件节点有且只能有两个上级节点 连接配置参数的说明如下:
|
集合 |
该组件可以对离线表的记录提供集合运算,提供了Intersect、Union、Union All、Except四种集合运算类型、分别对应的计算类型是求交集、求并集并去重、求并集不去重、求差。该组件在画布作业生成的SQL语句中对应的是intersect、union、union all、except等集合运算子句 在画布中,该组件节点有且只能有两个上级节点 集合配置参数的说明如下:
|
落地 |
该组件用于保存SQL-画布作业的离线分析结果到Hive中,生成落地表 |
导出 |
该组件用于将离线分析计算结果导出到HDFS或其他类型数据源中 在画布中,该组件节点只能作为最终节点,且其上级节点只能为落地组件或单个数据源组件 导出配置参数的说明如下:
导出数据类型的支持情况,请参见离线作业查看结果。 |
SQL-画布作业提供了一种数据转换组件,即数据转换。
该组件可以将源表数据转换为不同的数据存储格式,包括TEXTFILE、SEQUENCEFILE、ORC、PARQUET、AVRO、RCFILE、和JSONFILE共七种。
在画布中,该组件节点有且只能有一个上级节点,且上级节点必须为数据源组件。
数据转换组件配置参数的说明如下:
目标Schema:选择Hive中的Schema。
目标表名:配置目标表名。