Pentaho Data Integration(PDI)是一个以工作流为核心的数据集成平台,它允许通过图形化界面,以拖拽的形式来设计数据的 ETL 过程,而 kettle 是 PDI 的开源版本。
Kettle 可以从各种数据源抽取数据,转换数据,然后将数据加载到各种目标,如关系型数据库、文件、数据仓库等。以下是使用 Kettle 处理大数据的一个实例:
1. 数据源:从 HDFS 上的一个文本文件中抽取数据。
2. 转换:使用 Kettle 中的“Text file input”转换组件读取文本文件中的数据,并使用“Excel output”转换组件将数据写入到 Excel 文件中。
3. 目标:将数据加载到 Hive 数据仓库中。
4. 工作流:使用 Kettle 中的“Job”组件将各个组件连接起来,形成一个工作流。
5. 运行:在 Kettle 客户端运行工作流,完成数据的处理。
这只是一个简单的示例,实际的大数据处理可能会更加复杂,需要使用到更多的组件和功能。
总job,分三步,第一:先清空目标表;
第二,根据源表总的数据行,结合服务器配置 kettle每次能抽取插入多少行,算出需要分n次抽取,并生成1到n的序列值列表。
ps:生成1、2、3...n 的数据列,然后把每个值赋值给变量var_page, 根据var_page的值分页查询。
第三,根据第二步 生成的1、2、3...n的数据列,为每行都执行一次表插入,即实现分n次抽取数据插入。
在每次的执行中都根据变量,select 出对应的数据,进行表插入
eg: select * from table
where rownum > (${var_page}-1) * 2000
and rownum < ${var_page} * 2000