kettle导入oracle优化,【经验分享】通过Kettle高效的导入数据至DWS

摘要: Kettle是一款高效易用的开源ETL工具,DWS支持和Kettle的对接以及各种数据入库方式。

准备工作:在使用Kettle对接DWS前,请先安装号Kettle,并确保网络和DWS可以连通。

一、 配置Kettle的DWS数据库连接:

可选:用户可以使用PG原生驱动,或使用DWS提供的驱动替换PG驱动。在Kettle\data-integration\libext\JDBC目录中有jdbc驱动,需要把pg原有的jdbc驱动替换成mppdb的驱动,命名仍按照pg原有的命名。

选择PostgreSQL连接,填写connection name、host name、database name、port number、username、password等,点击OK。

![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/201910/12/161106ovnden4lp9pnual0.png)

二、 使用Kettle加载数据至DWS

1) 从源端库导出成文件到OBS或本地服务器,然后用bulk load导入方式(OBS数据加载、本地数据加载),通过DWS创建外表,在转换中添加执行SQL脚本,在执行SQL语句中执行bulk load语句。(推荐,传输速率最快可至集群每个计算节点100MB/s以上)

![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/201910/12/161217jqabtqzb6du3armh.png)

2) 通过自定义Java代码,走Copy的方式,流式数据入库(时效性高,入库效率百万条/s)

![image.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/attachment/forum/201910/12/161420okeb1rktvnpvllwn.png)

示例代码:

import org.postgresql.copy.CopyManager;

import org.postgresql.core.BaseConnection;

import java.sql.Connection;

import java.sql.DriverManager;

import java.util.Properties;

import java.io.StringReader;

private Connection con;

private StringBuffer tuples;

private int count;

private String sql 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值