1、使用表输入,表输出(本质上是insert into tablename values())来同步数据,
例如表输入(Oracle查询),表输出(Doris里表),Doris连接里一定记得加上参数,PreparedStatement 来进行批量插入,
在mysql链接后面增加rewriteBatchedStatements=true,开启doris批量提交。(rewriteBatchedStatements=true 会确保 Driver 执行批处理)
2、使用StreamLoad方式同步数据到Doris
Stream Load 是通过 HTTP 协议与 Doris 进行连接交互的。把查询出来的数据转成json格式(这种方式必须配合设置 strip_outer_array=true 使用。Doris 在解析时会将数组展开,然后依次解析其中的每一个 Object 作为一行数据。),再通过Rest Client 组件,如下图,
1>注意请求头参数
2>还有一点需要注意,如果用kettle管理平台去调度job,Java内存无法释放,建议使用Carte服务去调用job,推荐使用表输入表输出的方式去同步