Kettle(现也称为Pentaho Data Integration,简称PDI)是一款很是受欢迎的开源ETL工具软件,主要用于数据整合、转换和迁移。Kettle除了支持各类关系型数据库,HBase MongoDB这样的NoSQL数据源外,它还支持Excel、Access这类小型的数据源。而且经过这些插件扩展,kettle能够支持各种数据源。数据库
下图显示了Kettle和ADB for PostgreSQL之间的关系,数据源经过Kettle进行ETL或数据集成操做之后能够和ADB for PostgreSQL进行交互:工具
Kettle支持的数据来源很是丰富,主要包括如下分类:性能
更详细的输入能够从界面中的“核心对象”的“输入”分类中查看。测试
Kettle支持的表输入来源自数据库链接中使用SQL语句获取,其中数据库链接支持很是丰富的链接方式,包括:spa
经过这些链接方式,能够支持链接大多数主流数据库,如Oracle, SQL Server, MySQL, DB2, PostgreSQL, Sybase, Teradata等等,更详细的链接信息能够参考官方文档:https://help.pentaho.com/Documentation/8.2/Setup/Configuration/Define_Data_Connections插件
目前,Kettle支持的数据导入到ADB for PostgreSQL的方式有:3d
导入方式 | 说明 |
---|---|
表输出 (INSERT方式) |
采用JDBC做为导入方式 支持批量插入,批量插入使用JDBC的batch insert方法 |
批量加载 (COPY方式) |
采用COPY做为导入方式 对于大表,COPY方式性能达到批量插入性能的10倍左右 |
表输出(INSERT方式)导入会流过Master节点并作解析以后分布到对应的Segment节点上,这种方式相对较慢而且不适合导入大量数据。批量加载(COPY方式)导入方式比INSERT语句插入多行的效率更高。日志
如下将分别介绍如何经过这两种方式将外部数据迁移到AnalyticDB for PostgresSQL。对象
使用Kettle将外部数据导入AnalyticDB for PostgresSQL以前,须要完成如下准备工做。blog
Kettle采用表输出方式,支持使用通用的JDBC接口,从各类数据库源导入到ADB for PostgreSQL中。如下就以MySQL为例说明如何经过JDBC接口导入数据到ADB for PostgreSQL中。
1.在Kettle中新建一个转换。
2.在转换中新建一个MySQL数据库链接做为输出源,详细的参数配置以下表所示。
配置参数时,不要勾选Use Result Streaming Cursor。
配置项 | 说明 |
---|---|
链接名称 | 数据连名 |
链接类型 | 选择MySQL |
链接方式 | 选择Native(JDBC) |
主机名 | MySQL的链接地址 |
数据库名称 | MySQL的数据库名 |
端口号 | 链接地址对应的端口号 |
用户名 | 用户名 |
密码 | 用户密码 |
3.完成上述参数配置后,单击测试测试连通性,测试经过后单击确认。
4.在转换中新建一个Greenplum数据库链接做为输入源,详细的参数配置以下表所示。
配置项 | 说明 |
---|---|
链接名称 | 数据连名 |
链接类型 | 选择Greenplum |
链接方式 | 选择Native(JDBC) |
主机名 | AnalyticDB for PostgreSQL的链接地址 |
数据库名称 | AnalyticDB for PostgresSQL的数据库名 |
端口号 | 链接地址对应的端口号 |
用户名 | 用户名 |
密码 | 用户密码 |
5.完成上述参数配置后,单击测试测试连通性,测试经过后单击确认。
6.在kettle左侧核心对象的输入中,找到表输入,并将其拖动入到工做区。
7.双击工做区的表输入,在表输入对话框中进行参数配置。
8.在Kettle左侧核心对象的输出中,找到表输出,并将其拖动入到工做区。
9.双击工做区的表输出,在表输出对话框中进行参数配置。
10.新建一条表输入到表输出的链接线。
11.单击白色三角箭头运行转换,观察运行日志和运行状态。
待MySQL数据成功导入AnalyticDB for PostgreSQL后,您就可使用AnalyticDB for PostgreSQL进行数据分析。
Kettle支持使用批量加载方式(COPY方式)导入数据到ADB for PostgreSQL中。下面步骤举例说明经过从外部文件中批量加载数据到ADB for PostgreSQL中。
做者:陆封
原文连接
本文为云栖社区原创内容,未经容许不得转载。