如离线分析相关的任务涉及对STDB进行查询等操作,需在[配置管理/参数管理]中,将“离线分析是否加载时空函数”配置为true。 |
离线分析组件是业务流程画布中用来关联离线作业的组件,包含MR、SparkJar、HiveSQL、Java、Sqoop、Shell、SparkSQL、PySpark、RDSSQL类型。
表-1 离线分析组件参数说明
离线分析 |
说明 |
MR、SparkJar、Java、Shell及PySpark |
可以选择任务管理下对应类型的类型的任务作为模板,加载后适当修改参数,并配置执行队列,即可为完成配置(除执行队列外的其他参数是非必要的) 执行队列:选择本组织可以使用的队列 |
HiveSQL |
可以配置作业名称、执行队列、SQL和JDBC URL,即可完成(其他参数是非必要的)。该组件配置参数说明如下:
|
Sqoop |
|
SparkSQL |
是用来关联需要到Hadoop集群上以SparkSQL方式运行的Spark任务。其参数说明如下:
|
RDSSQL |
下发分析型SQL语句到MPP(GP,VERTICA)数据库,其参数说明如下:
|
子流程 |
业务流程可以嵌套引用业务流程作为其子流程,其参数说明如下:
|
跨组织节点与子流程配合使用时的限制如下:
跨组织节点与子流程配合使用时,可能产生业务成环而导致的无限循环执行,例如: 创建业务流程A,其中增加跨组织(发布)节点N1。创建业务流程B,选择A作为子流程,增加跨组织(接收)节点N2,节点N2监听业务流程A中的节点N1。启动业务流程B,则业务流程B运行过程中,提交业务流程A,流程A运行到发布节点,发布消息。业务流程B接收到发布的消息,如果业务流程B运行结束,则系统会再次启动业务流程B,从而导致流程运行进入无限循环。 为避免上述问题,请在设计业务逻辑时,尽量避免业务流程成环从而导致预期外的无限循环执行。 |
对于SparkSQL组件,其计算结果可能会出现精度有误情况,如表-2所示。
数据源表类型 |
精度有误类型 |
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,造成数据失真。 |