配置各类组件参数的步骤如下:
将组件拖拽到画布中后,双击该组件,右侧边栏会弹出编辑窗口。
配置组件的相关参数,参数说明请参见后续各组件介绍中的表格。
单击<确定>按钮,组件配置完成。
数据集成组件是业务流程画布中用来关联数据集成作业的组件,包含同步DI、异步DI和数据同步三种组件。
数据集成的作用是通过集成服务,将本系统外的数据经过一定的处理后存入本系统相关的数据存储系统中。
表-1 数据集成组件配置参数介绍
|
组件 |
说明 |
|
同步DI、异步DI |
DI组件用来关联[融合集成平台/数据集成/作业管理]模块下的DI作业。关于DI作业和新增方法的介绍可参见[融合集成平台/数据集成/作业管理]的联机帮助。该组件配置参数说明如下:
节点类型不可编辑;其他参数会根据DI作业自动加载,不可编辑 |
|
数据同步 |
数据同步组件用来关联数据同步任务。关于数据同步任务的介绍和新建,请参见数据同步管理。该组件配置参数说明如下:
节点类型不可编辑;KAFKA数据源、管道名称、任务类型和创建时间参数会根据选择的数据同步任务自动加载,不可编辑 |
|
如离线分析相关的任务涉及对STDB进行查询等操作,需在[配置管理/参数管理]中,将“离线分析是否加载时空函数”配置为true。 |
离线分析组件是业务流程画布中用来关联离线作业的组件,包含MR、SparkJar、HiveSQL、Java、Sqoop、Shell、SparkSQL、PySpark、RDSSQL类型。
|
离线分析 |
说明 |
|
MR、SparkJar、Java、Shell及PySpark |
可以选择任务管理下对应类型的类型的任务作为模板,加载后适当修改参数,并配置执行队列,即可为完成配置(除执行队列外的其他参数是非必要的) 执行队列:选择本组织可以使用的队列 |
|
HiveSQL |
可以配置作业名称、执行队列、SQL和JDBC URL,即可完成(其他参数是非必要的)。该组件配置参数说明如下:
|
|
Sqoop |
|
|
SparkSQL |
是用来关联需要到Hadoop集群上以SparkSQL方式运行的Spark任务。其参数说明如下:
|
|
RDSSQL |
下发分析型SQL语句到MPP(GP,VERTICA)数据库,其参数说明如下:
|
对于SparkSQL组件,其计算结果可能会出现精度有误情况,如表-3所示。
|
数据源表类型 |
精度有误类型 |
|
PostgreSQL |
time、bit、real |
|
Greenplum |
decimal、numeric、real、time、bit |
|
达梦 |
time、timestamp、bit、binary |
|
MySQL |
time、year、bit、boolean、tinyint |
|
Oracle |
number、float |
|
Vertica |
time、timetz、geography、geometry |
|
MySQL的tinyint(1)类型的字段在注册离线表后,非0和1的值将被转换为true,造成数据失真。 |
|
为优化集群资源参数,在集群开启Kerberos认证的情况下,请至[系统]模块下的[集群管理/集群资源]配置页面中,为所在组织配置Kerberos用户及队列信息。 |
SparkSQL组件、HiveSQL组件或RDSSQL组件的编辑SQL功能提供了SQL语句编辑、执行和校验等功能。在弹出的SQL窗口中:
顶部提供了执行、SQL上传、选中执行、格式化、语法校验的功能按钮。
中部的SQL语句编辑区域展示了SQL语句内容。在SQL语句编辑区域中输入的SQL语句中所包含的表名需使用离线表表名(对于SparkSQL和HiveSQL是Hive类型数据源的离线表表名,对于RDSSQL是GreenPlum/Vertica类型数据源的数据表名)。SQL语句支持通过SQL上传功能导入,或者手动编辑:
导入文件:单击工具栏中的<SQL上传>按钮,弹出文件选择窗口。选择本地的SQL文件后,单击<打开>按钮,即可将文件中的SQL语句导入到编辑区域中。导入的SQL语句还可以在编辑区域修改。
手动编辑:在编辑区域中,手动输入SQL语句。编辑区域支持对SQL关键字和表名的联想功能,可以方便输入;还支持从表信息中拖拽表名至编辑区域。
下方执行结果区域展示了被选中schema的表信息、被选中表的表字段信息及SQL语句的执行记录、动态日志和执行结果。
表信息:页面下方的表信息页签中,展示了所有的表信息(SparkSQL组件可使用的表包括所有Hive数据源下的数据表信息及注册的离线表信息)。在搜索区域中,选择schema名称并输入表名称关键字,作为筛选条件,列表中将展示符合条件的所有Hive数据表信息及注册的离线表信息。
字段信息:在表信息页签中选择某表,字段信息页签中即可展示表中的字段信息。
执行记录:执行记录显示了SQL语句执行的记录信息,包括SQL语句内容、执行方式,执行的对象(对于SparkSQL和HiveSQL是Hive类型数据源,对于RDSSQL是GreenPlum/Vertica类型数据源)、当前运行状态、执行操作的创建者、提交时间和结束时间,并提供了执行结果查看、动态日志查看、记录删除、执行操作取消、日志查看和强制将操作置为失败等功能。
动态日志:提供了SQL语句执行的动态日志,可通过在执行记录列表中单击<动态日志>按钮查看对应的动态日志。
执行结果:以列表的形式展示了执行成功的SQL语句的最终执行(查询)结果。
|
当前SQL编辑器中对查询返回的数据条数进行了限制,查询结果最大返回1000条数据。 如果对数据量过大、逻辑复杂的SQL进行了语法校验,可能会导致超时或者执行失败,并影响Spark Thrift Server的稳定性。 |
SQL语句编辑完成后,可以执行SQL并查看执行结果,以确认SQL语句是否符合作业要求。
SQL编辑区域中提供了对选中的SQL语句和完整SQL语句的执行的功能。执行选中SQL时,仅支持管理员用户进行删除操作。查询结果默认返回最多1000条结果。
执行:单击编辑区域上方的<执行>按钮,此时会执行编辑区域中所有SQL语句内容。执行完成后,会在执行结果区域中显示执行的结果。
执行选中:选中编辑区域中需要执行验证的部分SQL语句,单击编辑区域上方的<执行选中>按钮,此时会执行选中的SQL语句内容。执行完成后,会在执行结果区域中显示执行的结果。
单击编辑区域上方的<SQL上传>按钮,选择已经编辑好的SQL语句文件,可以快速生成SQL语句。
单击编辑区域上方的<格式化>按钮,可以将编辑区域的SQL语句格式进行标准化,以方便查看。
SQL语句编辑完成后,可以校验SQL语句语法,以检查SQL语句是否符合语法要求。
SQL编辑区域中提供了对选中的SQL语句和完整SQL语句的语法校验功能。
校验全部SQL语句语法:单击编辑区域上方的<语法校验>按钮,此时会在弹框中展示所有SQL语句的语法校验结果。
校验选中SQL语句语法:选中编辑区域中需要进行语法校验的部分SQL语句,单击编辑区域上方的<语法校验>按钮,此时会在弹框中展示选中SQL语句的语法校验结果。
对于SparkSQL,还支持配置是否导出到其他数据源中存储。如果选择导出,则需要配置导出参数。
表-3 结果导出参数说明
实时计算组件是业务流程画布中用来关联实时作业的组件,包含StreamingJob组件。实时计算组件可以选取实时作业管理下的实时作业。
StreamingJob组件是用来关联需要到Hadoop集群上运行的Flink任务。
该组件配置参数说明如下:
节点信息
节点名称:配置节点的名称。
作业名称:选择实时作业。
节点类型不可编辑;其他参数会根据实时作业任务自动加载,不可编辑。
高级参数
可根据需要配置作业的运行资源,包括执行队列、管理节点内存、工作节点内存、作业的并行度(作业并行度最小值为1,最大值分两种情况:当数据运营平台集群未配置时,并行度最大值为30;当数据运营平台集群配置后,并行度最大值为所使用的DataEngine大数据集群中Kafka组件节点数量的10倍)以及检查点的间隔时间和模式。
对于管理节点内存和工作节点内存配置参数,请根据作业所要处理的数据量以及机器资源情况,尽可能调大两个参数的值,避免作业因为所要处理的数据量过大导致作业内存溢出等情况的发生。
对于作业并行度参数,建议用户根据作业所要使用的数据源表情况(Kafka表对应的Topic分区数量)来设置该参数。
|
高级参数对于FLINK_JAR类型的实时作业为默认参数,若用户在作业内部(Jar文件中的代码内)设置了以上参数,则以作业内部设置的参数为准。 |
控制节点组件是用于对业务中作业的运行进行控制的组件,包括Fork组件、Join组件、跨组织节点组件和分支节点组件。
表-4 控制节点组件介绍
|
组件 |
说明 |
|
Fork、Join |
Fork组件和Join组件自身不会参与任何作业的数据处理,且Fork组件与Join组件在业务流程中需成对出现。
例如,在业务流程画布中,当某个作业A的后续为两个需要并行执行的作业B和作业C,且两个作业均执行完成后才可继续执行后续作业D时,需要在作业A后添加Fork组件节点,然后从Fork组件节点连接至作业B和作业C,之后将作业B与作业C连接至Join组件节点,再将Join组件连接至作业D。 |
|
跨组织节点 |
跨组织节点提供了事件触发调度的能力,包含发布、接收两种子类型,分别承担消息发布和接收处理的职责。通过引入跨组织节点,可以解决存在依赖关系的业务流程的启动顺序问题。
例如,当前有两个业务流程A和B,流程B依赖流程A的分析结果,因此必须在流程A运行结束后,再启动流程B,若仅依赖手动启动,会存在启动不及时且使用不便的问题。此时可以通过跨组织节点来解决,在流程A的末尾连接跨组织(发布)节点,在流程B的起始位置连接跨组织(接收)节点,并配置流程B的接收节点监听流程A的发布节点,流程A运行结束后会发布消息,流程B的接收节点会接收并处理消息,最终启动流程B。 |
|
分支节点 |
与Fork-Join一样,分支(Decision)节点也是数据开发提供的逻辑控制类节点中的一种。通过定义分支条件,在实际运行时可以根据分支条件的内容是否为true,决定分支下游的走向。 例如,在业务流程画布中,当某个作业A的后续为两个需要二选一执行的作业B和作业C。此时需要在A作业之后添加分支节点,将分支节点与下游B、C节点相连接,并配置分支节点的属性,即分别对B节点和C节点配置执行的分支条件。当两个条件中任何一个结果为true,则执行对应的下游分支节点;当两个条件均满足条件时,选择第一个节点执行;当两个节点均不满足条件时,整个业务流程的执行会跳到最后直接结束,后续节点均不再执行。 |
|
跨组织节点说明: · DI作业内置了跨组织(发布)节点的能力,任务结束时,发布消息。 · 跨组织(发布)节点可以不被任何节点监听,独立存在。 · 跨组织(接收)节点支持两种监听类型,分别是跨组织(发布)节点和DI作业。 · 包含跨组织(接收)节点的业务流程,仅响应流程启动后监听目标发布的消息,忽略历史消息。 · 跨组织(接收)节点启动业务流程时,会放弃提交处于运行状态的作业。此时该条消息已经被消费,任务结束后等待后续消息进行调度。 跨组织(发布)节点存在如下使用限制: · 必须与其他离线作业成组使用 · 同组内有且仅有一个父节点 · 父节点不能为跨组织(发布)节点 跨组织(接收)节点存在如下使用限制: · 必须与其他离线作业成组使用 · 必须是组内的起始节点 · 同组内有且仅有一个子节点 |