kettle 循环处理数据 oracle入 Elasticsearch
**基本思路:
网上查了半天没有一个能实现的
根据部分网友文章得到的思路
先构造一个分页列表页,在按行执行这个分页计算数据
全图预览**
开始 测试执行一次
设置变量(提取到的变量,表名和pagesize 有修改 直接启动是改一下就可以了)
第一个转换:计算分页数量(其他项默认 只添加这2个变量)
新建一个转换 命名自定义 前面已经定义了pagesize 这步主要获取pagenum
通过oracle 表输入 获取总数 total ÷ pagesize 向上取整 = pagenum
这里第一次用需要进行数据库配置
**设置变量 **
将得到的pagenum复制到结果里 以供后续使用
第一个转换完成 开始第二个转换
将参数向下传递
第二个转换主要功能是 构造peage页的数据 并将结果复制
获得page
新建个作业,注意:执行每一行
在作业中新建转换
获取上步骤的结果
设置变量,添加表输入
**oracle分页
SELECT * FROM (SELECT ROWNUM AS rowno, t.* FROM {NEWPAGE}){NEWPAGE}-1)${PAGESIZE}+1)**
注意:简易转换会将值编码 不可读了
从步骤插入数据,不用勾,不然会有问题,列不可用
可加日志 或写出到文件 查看内容
es插入 需要id 有的不需要
先测试链接 7.x的kettle 可以换链接es插件 支持6.x版本es
下一步需要配置es服务的地址及端口9300
如果上一步的查询 不能获取字段 这一步需要手动获取下 把没用的去掉
最后在配置下es 名称 看配置文件
启动时 可以配置表名及每页数量 选择日志级别 开始吧
设置为错误日志输出效果为 可根据需要自行配置