关系数据源
概述
关系数据源是指从Smartbi关系数据源中读取的库表数据。
支持数据库
目前支持:
Mysql,,Oracle,Clickhouse,DB2,SQL Server,Vertica,Inforbright,Presto,Hive,星环-inceptor,Postgresql,GreenPlum,Gauss100,Gauss200,Gbase 8A,Gbase 8S,Gbase 8T,达梦6,达梦7,Sybase,Hana,Aliyun AnalyticDB,Aliyun MaxCompute
MariaDB,华为Fusioninsight,Teradata、Teradata_V12、神通(单节点/集群)、Kingbase、Kingbase_V8、Kingbase AnalyticsDB、Informix、Obase、Kylin(麒麟)、Impala、MonetDB、starRocks(社区版2.2.2)、Rapids(博睿)、OceanBase、OceanBase_Oracle、SelectDB、
SparkSQL、Other、TIDB、MogDB、PanWeiDB、YMatrix、磐维、ByteHouse、Doris。
注:
以上支持数据源范围,仅以V11版本为准,其他版本的支持情况,请移步对应版本的wiki。
1. 某些数据源以Kerberos方式验证登录,当前已全部支持。详情请参考 Kerberos/other驱动放置说明
2.若需自定义业务数据源的驱动版本,详情请参考 自定义驱动放置说明
3.以下数据源未内置驱动,请先放置驱动同自定义驱动放置说明,重启引擎再尝试执行:
达梦8、hive、Kylin(麒麟)、Impala、oceanbase、Aliyun MaxCompute、Rapids(博睿)、Doris。
4.由于doris使用的是mariadb的驱动,且要自定义放置驱动包,所以引擎端需要按照自定义放置步骤,把驱动放在conf\lib\maria目录下,并重启引擎进程。另外厂商提供的mariadb的驱动无法兼容mariadb数据库,所以doris和mariadb无法同时运行, 除非厂商能另外提供兼容版驱动。
输入/输出
输入 | 没有输入端口。 |
---|---|
输出 | 只有一个输出端口,用于输出数据到下一节点资源。 |
参数配置
设置关系数据源的参数:
设置说明如下:
参数 | 说明 |
---|---|
数据源 | 选择数据源,这些数据源是Smartbi中连接配置好的关系数据源,必填。 |
SCHEMA | 选择SCHEMA,必填。 |
表名 | 选择表,必填。 |
分区设置 | 把表数据相对平均分成多个分区,抽取程序会尽可能一个分区分配一个线程进行并行抽取,能够极大的提高大数据量情况下的数据抽取性能。详情请参考 分区设置 。 |
选择列 | 用于筛选节点输出的列,适用于大数据量情况下,提升数据导出速度。 |
SQL语句 | 通过SQL语句设置where条件,过滤出表中的数据用于工作流。 |
节点高级设置 | 用于配置JDBC读取数据时的connection以及fetchsizes属性详,请参考 节点高级设置 。 |
分区设置
把表数据相对平均分成多个分区,抽取程序会尽可能一个分区分配一个线程进行并行抽取,能够极大的提高大数据量情况下的数据抽取性能。
这里关键在于如何把表数据相对平均分成多个分区,具体按照下面步骤进行:
1. 查询数据分布
查询数据分布是为了通过数据分布图表,直观展现出每个字段数据分布情况,帮助挑选出数据分布最为均匀的字段
分区数量:表示把数据切分成多少个分区,系统会提供默认值,一般不需要修改,系统提供的默认值取决于分配给ETL执行引擎的cpu核数。
采样条数:对表数据进行采样条数,因为全量数据做数据分布计算性能较差,所以只能做数据采样
点击刷新按钮,就展现出数据分布图表,并默认选中数据分布最为均匀的字段。因为是基于采样的数据进行计算,所以展现出来的结果不是绝对准确的,
如果对表的数据比较了解的话,可以换选更加合适的字段作为分区字段,比如这里我们换选LO_ORDERDATE字段作为分区字段:
2. 生成分区条件
如图所示,点击生成分区条件按钮,便根据上面设置的分区数量跟选中的分区字段,生成分区条件,每个分区条件对应到一个数据分区。
3. 计算分区条数
由于生成的分区条件不确定是否可以把表的数据均匀切分,可以点击计算分区条数按钮进行计算每个分区的记录条数
4. 调整分区条件(可选)
如果觉得数据分区并不均匀,可以对分区条件进行修改,每个分区条件都可以修改,不过这里修改要注意,要保证这些分区条件
能覆盖到所有的数据。
至此,完成了分区设置,以上图的例子,已经比较均匀把数据分成8个分区,执行的时候每个分区就会有对应一个线程对数据进行抽取,
总共就有8个线程并行抽取,理论上性能随着并行数量线性提升。
注意:如果表的数据量比较大,上面每个步骤的操作可能会有一定耗时,请耐心等待。
自定义驱动放置说明
使用前请确保数据源连接界面测试连接通过,并在挖掘引擎所在服务器配置好了需要的IP映射。
对于自定义驱动的业务库数据源,在部署数据挖掘引擎时需要将驱动包放到部署挖掘引擎主机的<smartbi-engine-bin>/conf/lib对应数据库的目录里面。然后重启数据挖掘服务。
操作步骤:
1.找到目录conf\lib 找到对应的目录
2.将自定义jar包放入目录.
3.重启引擎
Kerberos/other驱动放置说明
使用前请确保数据源连接界面测试连接通过,并在挖掘引擎所在服务器配置好了需要的IP映射。
常规使用:一个数据源单kerberos用户
操作步骤:
1.找到目录conf\standalone-lib(如Impala则对应目录是IMPALA-Kerberos)
2.将所需的jar包以及验证文件(keytab、conf等文件)全部放入. 示例(apache-hive):
3.重启引擎
多用户:客户场存在 同一数据库环境但是不同kerberos验证文件的场景。
操作步骤:假设以下两个数据源连接:first_hive 、second_hive
1.找到目录conf\standalone-lib
2.新建以下两个目录名称:HADOOP_HIVE-Kerberos-first_hive、HADOOP_HIVE-Kerberos-second_hive
3.放入对应的jar包和验证文件
4.重启引擎
注:OTHER数据源同上使用逻辑,单用户时放入conf\standalone-lib\OTHER 目录
多用户时以 OTHER-数据源连接的真名,新建目录
节点高级设置
功能入口,如下图:
配置界面,如下图。配置说明:
QUERY_JDBC_FETCHSIZE为引擎内读取一次数据的批次(jdbc的fetchsize可以参考网上类似的文档说明jdbc_fetchsize说明)、对性能有较大影响,若需要根据数据库不同环境配置JDBCl连接的属性,需要带上connprop.(注意有点:.)的前缀。且大小写严格区分