1. 概述
关系数据源是指从Smartbi关系数据源中读取的表数据。
2. 输入/输出
输入 | 没有输入端口。 |
---|---|
输出 | 只有一个输出端口,用于输出数据到下一节点资源。 |
3. 参数配置
设置关系数据源的参数:
设置说明如下:
参数 | 说明 |
---|---|
关系数据源表 * | 从已经连接配置好的关系数据源中选择一张用于抽取数据的表。必填。 |
输出字段 | 默认抽取所有字段数据。如果数据量特别大,而表中很多字段又没有用处,建议在这里只选择需要的字段,其他无用字段删除,可以有效提高数据抽取速度。 |
过滤条件 | 默认抽取所有数据。可以在这里设置过滤条件,只抽取满足条件的部分数据。如果需要增量抽取数据,必须利用此功能,在“过滤条件”中可以使用“参数管理”中配置的参数,从而控制动态的数据过滤条件。 请参考:如何进行数据的增量抽取 |
分区设置 | 把表数据相对平均分成多个分区,抽取程序会尽可能一个分区分配一个线程进行并行抽取,能够极大的提高大数据量情况下的数据抽取性能。详情请参考 分区设置 。 |
优化参数 | 用于配置 JDBC 读取数据时的 connection 以及 fetchsizes 等属性。 QUERY_JDBC_FETCHSIZE 为引擎内读取一次数据的批次( jdbc的 fetchsize 可以参考网上类似的文档说明 jdbc_fetchsize 说明 )、对性能有较大影响,若需要根据数据库不同环境配置 JDBC 连接属性,需要带上 connprop. 前缀(注意后面有 . 并大小写严格区分)。 |
4. 分区设置
把表数据相对平均分成多个分区,抽取程序会尽可能一个分区分配一个线程进行并行抽取,能够极大的提高大数据量情况下的数据抽取性能。这里关键在于如何把表数据相对平均分成多个分区,具体按照下面步骤进行:
4.1 查询数据分布
查询数据分布是为了通过数据分布图表,直观展现出每个字段数据分布情况,帮助挑选出数据分布最为均匀的字段。
- 分区数量:表示把数据切分成多少个分区,系统会提供默认值,一般不需要修改,系统提供的默认值取决于分配给ETL执行引擎的cpu核数。
- 采样条数:对表数据进行采样条数,因为全量数据做数据分布计算性能较差,所以只能做数据采样。
点击“刷新”按钮,就展现出数据分布图表,并默认选中数据分布最为均匀的字段。因为是基于采样的数据进行计算,所以展现出来的结果不是绝对准确的。如果对表的数据比较了解的话,可以换选更加合适的字段作为分区字段,比如这里我们换选LO_ORDERDATE字段作为分区字段:
4.2 生成分区条件
如图所示,点击生成分区条件按钮,便根据上面设置的分区数量跟选中的分区字段,生成分区条件,每个分区条件对应到一个数据分区。
4.3 计算分区条数
由于生成的分区条件不确定是否可以把表的数据均匀切分,可以点击计算分区条数按钮进行计算每个分区的记录条数。
4.4 调整分区条件(可选)
如果觉得数据分区并不均匀,可以对分区条件进行修改,每个分区条件都可以修改,不过这里修改要注意,要保证这些分区条件能覆盖到所有的数据。
至此,完成了分区设置,以上图的例子,已经比较均匀把数据分成8个分区,执行的时候每个分区就会有对应一个线程对数据进行抽取,总共就有8个线程并行抽取,理论上性能随着并行数量线性提升。
注意:如果表的数据量比较大,上面每个步骤的操作可能会有一定耗时,请耐心等待。
5. 自定义驱动
使用前请确保数据源连接界面测试连接通过,并在挖掘引擎所在服务器配置好了需要的IP映射。
对于自定义驱动的业务库数据源,在部署数据挖掘引擎时需要将驱动包放到部署挖掘引擎主机的<smartbi-engine-bin>/conf/lib对应数据库的目录里面。然后重启数据挖掘服务。
操作步骤:
- 找到目录conf\lib 找到对应的目录。
- 将自定义jar包放入目录。
- 重启引擎。
6. Kerberos/other驱动
使用前请确保数据源连接界面测试连接通过,并在挖掘引擎所在服务器配置好了需要的IP映射。
6.1 常规使用:一个数据源单Kerberos用户
操作步骤:
- 找到目录conf\standalone-lib(如Impala则对应目录是IMPALA-Kerberos)。
- 将所需的jar包以及验证文件(keytab、conf等文件)全部放入. 示例(apache-hive):
- 重启引擎。
6.2 多用户:同一个数据库环境不同Kerberos文件
假设以下两个数据源连接:first_hive 、second_hive
操作步骤:
- 找到目录conf\standalone-lib
- 新建以下两个目录名称:HADOOP_HIVE-Kerberos-first_hive、HADOOP_HIVE-Kerberos-second_hive
- 放入对应的jar包和验证文件。
- 重启引擎。
注:OTHER数据源同上使用逻辑,单用户时放入conf\standalone-lib\OTHER 目录。多用户时以 OTHER-数据源连接的真名,新建目录。