背景信息
Kettle(现也称为Pentaho Data Integration,简称PDI)是一款非常受欢迎的开源ETL工具软件,主要用于数据整合、转换和迁移。Kettle除了支持各种关系型数据库,HBase MongoDB这样的NoSQL数据源外,它还支持Excel、Access这类小型的数据源。并且通过这些插件扩展,kettle可以支持各类数据源。
下图显示了Kettle和ADB for PostgreSQL之间的关系,数据源通过Kettle进行ETL或数据集成操作以后可以和ADB for PostgreSQL进行交互:
本文将介绍如何通过kettle将外部数据迁移到AnalyticDB for PostgresSQL。
准备工作
使用Kettle将外部数据导入AnalyticDB for PostgresSQL之前,需要完成以下准备工作。
- 在本地主机中安装kettle
- 在AnalyticDB for PostgreSQL中创建目标数据库、模式和表。
通过JDBC接口导入数据到ADB for PostgreSQL
Kettle支持使用通用的JDBC接口,从各种数据库源导入到ADB for PostgreSQL中。以下就以MySQL为例说明如何通过JDBC接口导入数据到ADB for PostgreSQL中。
- 在Kettle中新建一个转换。
- 在转换中新建一个MySQL数据库连接作为输出源,详细的参数配置如下表所示。
配置参数时,不要勾选Use Result Streaming Cursor。
配置项 | 说明 |
---|---|
连接名称 | 数据连名 |
连接类型 | 选择MySQL |
连接方式 | 选择Native(JDBC) |
主机名 | MySQL的连接地址 |
数据库名称 | MySQL的数据库名 |
端口号 | 连接地址对应的端口号 |
用户名 | 用户名 |
密码 | 用户密码 |
3. 完成上述参数配置后,单击测试测试连通性,测试通过后单击确认。
- 在转换中新建一个PostgreSQL数据库连接作为输入源,详细的参数配置如下表所示。
配置项 | 说明 |
---|---|
连接名称 | 数据连名 |
连接类型 | 选择Greenplum |
连接方式 | 选择Native(JDBC) |
主机名 | AnalyticDB for PostgreSQL的连接地址 |
数据库名称 | AnalyticDB for PostgresSQL的数据库名 |
端口号 | 连接地址对应的端口号 |
用户名 | 用户名 |
密码 | 用户密码 |
5. 完成上述参数配置后,单击测试测试连通性,测试通过后单击确认。
- 在kettle左侧核心对象的输入中,找到表输入,并将其拖动入到工作区。
- 双击工作区的表输入,在表输入对话框中进行参数配置。
- 在Kettle左侧核心对象的输出中,找到表输出,并将其拖动入到工作区。
- 双击工作区的表输出,在表输出对话框中进行参数配置。
- 新建一条表输入到表输出的连接线。
- 单击白色三角箭头运行转换,观察运行日志和运行状态。
待MySQL数据成功导入AnalyticDB for PostgreSQL后,您就可以使用AnalyticDB for PostgreSQL进行数据分析。
通过外部文件方式导入数据到ADB for PostgreSQL
Kettle支持从各种外部文件的数据源导入到ADB for PostgreSQL中。下面步骤举例说明通过从外部文件中导入数据到ADB for PostgreSQL中。
- 在Kettle中新建一个转换。
- 在转换中新建一个文本文件输入作为输出源。
- 双击文本文件输入的图表,选择输入的文本文件。
- 在“内容”选项卡中配置输入文件的分隔符。
- 在“字段”选项卡定义输入文件表中的字段。
- 在转换中新建一个PostgreSQL数据库连接作为输入源,详细的参数配置如下表所示。
- 完成上述参数配置后,单击测试测试连通性,测试通过后单击确认。
- 在Kettle左侧核心对象的输出中,找到表输出,并将其拖动入到工作区。
- 双击工作区的表输出,在表输出对话框中进行参数配置:
- 新建一条文件输入到表输出的连接线,单击白色三角箭头运行转换,观察运行日志和运行状态。
待数据成功导入AnalyticDB for PostgreSQL后,您就可以使用AnalyticDB for PostgreSQL进行数据分析。