使用kettle导入数据到ADB 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進行交互:
?
Kettle支持的數據來源非常豐富,主要包括以下分類:?
- 表輸入
- 文本文件輸入
- 生成記錄/自定義常量
- 獲取系統(tǒng)信息
- 各類格式文件輸入
- 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節(jié)點并做解析之后分布到對應的Segment節(jié)點上,這種方式相對較慢并且不適合導入大量數據。批量加載(COPY方式)導入方式比INSERT語句插入多行的效率更高。
以下將分別介紹如何通過這兩種方式將外部數據遷移到AnalyticDB for PostgresSQL。
準備工作
使用Kettle將外部數據導入AnalyticDB for PostgresSQL之前,需要完成以下準備工作。
- 在本地主機中安裝kettle
- 在AnalyticDB for PostgreSQL中創(chuàng)建目標數據庫、模式和表。
表輸出方式導入數據到ADB for PostgreSQL
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左側核心對象的輸入中,找到表輸入,并將其拖動入到工作區(qū)。
7.雙擊工作區(qū)的表輸入,在表輸入對話框中進行參數配置。
8.在Kettle左側核心對象的輸出中,找到表輸出,并將其拖動入到工作區(qū)。
9.雙擊工作區(qū)的表輸出,在表輸出對話框中進行參數配置。
10.新建一條表輸入到表輸出的連接線。
11.單擊白色三角箭頭運行轉換,觀察運行日志和運行狀態(tài)。
待MySQL數據成功導入AnalyticDB for PostgreSQL后,您就可以使用AnalyticDB for PostgreSQL進行數據分析。
批量加載方式導入數據到ADB for PostgreSQL
Kettle支持使用批量加載方式(COPY方式)導入數據到ADB for PostgreSQL中。下面步驟舉例說明通過從外部文件中批量加載數據到ADB for PostgreSQL中。
待數據成功導入AnalyticDB for PostgreSQL后,您就可以使用AnalyticDB for PostgreSQL進行數據分析。
原文鏈接
本文為云棲社區(qū)原創(chuàng)內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的使用kettle导入数据到ADB for PostgreSQL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何把创建ECS(CreateInsta
- 下一篇: Knative Eventing 中 C