使用Kettle导入数据到ADB for PostgreSQL

简介: 文章介绍了使用Kettle将数据导入到AnalyticDB for PostgreSQL,包括使用表输出方式(INSERT)和批量加载方式(COPY)导入到AnalyticDB for PostgreSQL的详细步骤和操作流程。

Kettle简介

Kettle(现也称为Pentaho Data Integration,简称PDI)是一款非常受欢迎的开源ETL工具软件,主要用于数据整合、转换和迁移。Kettle除了支持各种关系型数据库,HBase MongoDB这样的NoSQL数据源外,它还支持Excel、Access这类小型的数据源。并且通过这些插件扩展,kettle可以支持各类数据源。

下图显示了Kettle和ADB for PostgreSQL之间的关系,数据源通过Kettle进行ETL或数据集成操作以后可以和ADB for PostgreSQL进行交互:
image

Kettle支持的数据来源非常丰富,主要包括以下分类:​

  • 表输入
  • 文本文件输入
  • 生成记录/自定义常量
  • 获取系统信息
  • 各类格式文件输入
  • Json输入
  • 以及其他输入

更详细的输入可以从界面中的“核心对象”的“输入”分类中查看。

Kettle支持的表输入来源自数据库连接中使用SQL语句获取,其中数据库连接支持非常丰富的连接方式,包括:

  • Native(JDBC)连接
  • ODBC连接
  • OCI连接
  • JNDI连接

通过这些连接方式,可以支持连接大多数主流数据库,如Oracle, SQL Server, MySQL, DB2, PostgreSQL, Sybase, Teradata等等,更详细的连接信息可以参考官方文档:https://help.pentaho.com/Documentation/8.2/Setup/Configuration/Define_Data_Connections

Kettle导入到ADB for PostgreSQL

Kettle支持导入到ADB for PostgreSQL的方式

目前,Kettle支持的数据导入到ADB for PostgreSQL的方式有:

导入方式 说明
表输出
(INSERT方式)
采用JDBC作为导入方式
支持批量插入,批量插入使用JDBC的batch insert方法
批量加载
(COPY方式)
采用COPY作为导入方式
对于大表,COPY方式性能达到批量插入性能的10倍左右

表输出(INSERT方式)导入会流过Master节点并做解析之后分布到对应的Segment节点上,这种方式相对较慢并且不适合导入大量数据。批量加载(COPY方式)导入方式比INSERT语句插入多行的效率更高。

以下将分别介绍如何通过这两种方式将外部数据迁移到AnalyticDB for PostgresSQL。

准备工作

使用Kettle将外部数据导入AnalyticDB for PostgresSQL之前,需要完成以下准备工作。

  • 在本地主机中安装kettle
  • 在AnalyticDB for PostgreSQL中创建目标数据库、模式和表。

表输出方式导入数据到ADB for PostgreSQL

Kettle采用表输出方式,支持使用通用的JDBC接口,从各种数据库源导入到ADB for PostgreSQL中。以下就以MySQL为例说明如何通过JDBC接口导入数据到ADB for PostgreSQL中。

1.在Kettle中新建一个转换。
2.在转换中新建一个MySQL数据库连接作为输出源,详细的参数配置如下表所示。
配置参数时,不要勾选Use Result Streaming Cursor。
image

配置项 说明
连接名称 数据连名
连接类型 选择MySQL
连接方式 选择Native(JDBC)
主机名 MySQL的连接地址
数据库名称 MySQL的数据库名
端口号 连接地址对应的端口号
用户名 用户名
密码 用户密码

3.完成上述参数配置后,单击测试测试连通性,测试通过后单击确认。
4.在转换中新建一个Greenplum数据库连接作为输入源,详细的参数配置如下表所示。
image

配置项 说明
连接名称 数据连名
连接类型 选择Greenplum
连接方式 选择Native(JDBC)
主机名 AnalyticDB for PostgreSQL的连接地址
数据库名称 AnalyticDB for PostgresSQL的数据库名
端口号 连接地址对应的端口号
用户名 用户名
密码 用户密码

5.​完成上述参数配置后,单击测试测试连通性,测试通过后单击确认。
6.在kettle左侧核心对象的输入中,找到表输入,并将其拖动入到工作区。
image
7.双击工作区的表输入,在表输入对话框中进行参数配置。
image
8.在Kettle左侧核心对象的输出中,找到表输出,并将其拖动入到工作区。
image
9.双击工作区的表输出,在表输出对话框中进行参数配置。
image
10.新建一条表输入到表输出的连接线。
image
11.单击白色三角箭头运行转换,观察运行日志和运行状态。

待MySQL数据成功导入AnalyticDB for PostgreSQL后,您就可以使用AnalyticDB for PostgreSQL进行数据分析。

批量加载方式导入数据到ADB for PostgreSQL

Kettle支持使用批量加载方式(COPY方式)导入数据到ADB for PostgreSQL中。下面步骤举例说明通过从外部文件中批量加载数据到ADB for PostgreSQL中。

  1. 在Kettle中新建一个转换。
  2. 在转换中新建一个文本文件输入作为输出源。
    image
  3. 双击文本文件输入的图表,选择输入的文本文件。
    image
  4. 在“内容”选项卡中配置输入文件的分隔符。
    image
  5. 在“字段”选项卡定义输入文件表中的字段。
    image
  6. 在转换中新建一个Greenplum数据库连接作为输入源,详细的参数配置如下表所示。
    image
  7. 完成上述参数配置后,单击测试测试连通性,测试通过后单击确认。
  8. 在Kettle左侧核心对象的批量加载中,找到PostgreSQL批量加载,并将其拖动入到工作区。
    image
  9. 新建一条文件输入到PostgreSQL批量记载的连接线。
    image
  10. 双击工作区的PostgreSQL批量加载图表,在批量加载对话框中进行参数配置:
    image
  11. 单击白色三角箭头运行转换,观察运行日志和运行状态
    待数据成功导入AnalyticDB for PostgreSQL后,您就可以使用AnalyticDB for PostgreSQL进行数据分析。
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
26天前
|
关系型数据库 MySQL OLAP
PolarDB +AnalyticDB Zero-ETL :免费同步数据到ADB,享受数据流通新体验
Zero-ETL是阿里云瑶池数据库提供的服务,旨在简化传统ETL流程的复杂性和成本,提高数据实时性。降低数据同步成本,允许用户快速在AnalyticDB中对PolarDB数据进行分析,降低了30%的数据接入成本,提升了60%的建仓效率。 Zero-ETL特性包括免费的PolarDB MySQL联邦分析和PolarDB-X元数据自动同步,提供一体化的事务处理和数据分析,并能整合多个数据源。用户只需简单配置即可实现数据同步和实时分析。
|
8月前
|
关系型数据库 数据库 PostgreSQL
如何使用pgvector为RDS PostgreSQL构建专属ChatBot?
随着ChatGPT的问世,人们开始认识到大语言模型(LLM,Large language model)和生成式人工智能在多个领域的潜力,如文稿撰写、图像生成、代码优化和信息搜索等。LLM已成为个人和企业的得力助手,并朝着超级应用的方向发展,引领着新的生态系统。本文介绍如何基于RDS PostgreSQL构建专属ChatBot。
|
8月前
|
关系型数据库 分布式数据库 数据库
基于PolarDB PostgreSQL版和LLM构建企业专属Chatbot
随着ChatGPT的问世,人们开始认识到大语言模型(LLM,Large language model)和生成式人工智能在多个领域的潜力,如文稿撰写、图像生成、代码优化和信息搜索等。LLM已成为个人和企业的得力助手,并朝着超级应用的方向发展,引领着新的生态系统。本文介绍如何基于PolarDB PostgreSQL版向量数据库和LLM构建企业专属Chatbot。
22882 14
|
9月前
|
弹性计算 运维 自然语言处理
30分钟,一键拉起基于LLM + AnalyticDB PostgreSQL构建的企业专属Chatbot(支持ChatGLM2-6B)
ChatGPT的火爆带动AIGC行业近期非常火热,客户对于智能客服,构建企业知识库用于智能问答,写作助手等相关需求非常旺盛;随着ChatGPT 推出Retrieval plugin的方案推出,向量数据库(企业知识库) + 大语言模型 可以快速帮助企业构建专属的chatbot; 本服务是对文章《云原生数据仓库AnalyticDB(ADB)+LLM:构建AIGC时代下企业专属Chatbot》的一个开源实现部署。模型基于ChatGLM2-6B,是由清华大学团队开发的是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。
13579 19
30分钟,一键拉起基于LLM + AnalyticDB PostgreSQL构建的企业专属Chatbot(支持ChatGLM2-6B)
|
10月前
|
弹性计算 运维 自然语言处理
30分钟,一键拉起基于LLM + AnalyticDB PostgreSQL构建的企业专属Chatbot
ChatGPT的火爆带动AIGC行业近期非常火热,客户对于智能客服,构建企业知识库用于智能问答,写作助手等相关需求非常旺盛;随着ChatGPT 推出Retrieval plugin的方案推出,向量数据库(企业知识库) + 大语言模型 可以快速帮助企业构建专属的chatbot; 本服务是对文章《云原生数据仓库AnalyticDB(ADB)+LLM:构建AIGC时代下企业专属Chatbot》的一个开源实现部署。模型基于ChatGLM-6B,是由清华大学团队开发的是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。
30分钟,一键拉起基于LLM + AnalyticDB PostgreSQL构建的企业专属Chatbot
|
22天前
|
关系型数据库 分布式数据库 数据库
成都晨云信息技术完成阿里云PolarDB数据库产品生态集成认证
近日,成都晨云信息技术有限责任公司(以下简称晨云信息)与阿里云PolarDB PostgreSQL版数据库产品展开产品集成认证。测试结果表明,晨云信息旗下晨云-站群管理系统(V1.0)与阿里云以下产品:开源云原生数据库PolarDB PostgreSQL版(V11),完全满足产品兼容认证要求,兼容性良好,系统运行稳定。
|
29天前
|
关系型数据库 分布式数据库 数据库
PolarDB常见问题之数据库不能自己减少节点如何解决
PolarDB是阿里云推出的下一代关系型数据库,具有高性能、高可用性和弹性伸缩能力,适用于大规模数据处理场景。本汇总囊括了PolarDB使用中用户可能遭遇的一系列常见问题及解答,旨在为数据库管理员和开发者提供全面的问题指导,确保数据库平稳运行和优化使用体验。
|
29天前
|
缓存 关系型数据库 分布式数据库
PolarDB常见问题之数据库cpu突然飙高如何解决
PolarDB是阿里云推出的下一代关系型数据库,具有高性能、高可用性和弹性伸缩能力,适用于大规模数据处理场景。本汇总囊括了PolarDB使用中用户可能遭遇的一系列常见问题及解答,旨在为数据库管理员和开发者提供全面的问题指导,确保数据库平稳运行和优化使用体验。
|
2月前
|
关系型数据库 分布式数据库 数据库
阿里云PolarDB登顶2024中国数据库流行榜:技术实力与开发者影响力
近日,阿里云旗下的自研云原生数据库PolarDB在2024年中国数据库流行度排行榜中夺冠,并刷新了榜单总分纪录,这一成就引起了技术圈的广泛关注。这一成就源于PolarDB在数据库技术上的突破与创新,以及对开发者和用户的实际需求的深入了解体会。那么本文就来分享一下关于数据库流行度排行榜的影响力以及对数据库选型的影响,讨论PolarDB登顶的关键因素,以及PolarDB“三层分离”新版本对开发者使用数据库的影响。
74 3
阿里云PolarDB登顶2024中国数据库流行榜:技术实力与开发者影响力
|
1月前
|
关系型数据库 分布式数据库 数据库
PolarDB PostgreSQL版:Oracle兼容的高性能数据库
PolarDB PostgreSQL版是一款高性能的数据库,具有与Oracle兼容的特性。它采用了分布式架构,可以轻松处理大量的数据,同时还支持多种数据类型和函数,具有高可用性和可扩展性。它还提供了丰富的管理工具和性能优化功能,为企业提供了可靠的数据存储和处理解决方案。PolarDB PostgreSQL版在数据库领域具有很高的竞争力,可以满足各种企业的需求。

相关产品

  • 云原生数据仓库 AnalyticDB PostgreSQL版
  • 云数据库 RDS PostgreSQL 版