一个人难以开发出一个强大且完整的系统,pentaho集成了BI和DI等功能,应用于报表制作和商业智能相对比较全面,最近看了国外文章,这里做一些介绍。
pentaho 使用Adaptive Execution Layer (AEL)在不用系统引擎中执行数据转换,而在大数据环境下,基于hadoop集群 下的spark能够进行高效的数据处理。AEL为spark定义数据的转换,直接将操作传递给hadoop集群中,从而利用spark 能在多个节点处理大型数据的能力。AEL的目标是一次开发随处执行。
这里需要注意的是,AEL需要在使用spark引擎前配置好:点击打开链接,配置后在run configuration中选择spark引擎。
AEL-SAPRK app开发
在PDI中开发一个spark应用的好处是不需要在开发过程中接入spark集群,在笔记本上就能完成。
1. main job:
1.1. 设置数据输入输出位置
1.2. 启动转换进程
1.3. Look/Sort Ttransformation
1.3.1. 数据过滤变换排序
1.3.2. 输出结果进行排序
1.3.3. 将排序数据的输出加载到RDBMS中
在Set variables步骤中,为所有的输入输出文件创建变量以用于后面的转换步骤。
在序列中执行2个转换操作:
- Transformation A:根据product ID查询product信息并将最终结果根据product name排序
- Transformation B:加载错误记录到数据库中
- filters record: 没有produt ID的记录过滤出去保存在一个单独的文件中
- 具有productID的记录查询出product info,按照name排序并存储到结果中
- 错误数据加载到数据库
- 这一步将不在spark集群中执行