[ETL實踐指南]基於Kettle的MaxCompute插件實現數據上雲

本文用到的

阿里雲數加-大數據計算服務MaxCompute產品地址:https://www.aliyun.com/product/odpsjava

簡介

Kettle是一款開源的ETL工具,純java實現,能夠運行於Windows, Unix, Linux上運行,提供圖形化的操做界面,能夠經過拖拽控件的方式,方便地定義數據傳輸的拓撲。Kettle支持豐富的數據輸入輸出源,數據庫支持Oracle,MySql,DB2等,也支持業界各類開源的大數據系統,例如HDFS, HBase, Cassandra, MongoDB等。本文將介紹如何利用MaxCompute的插件無縫對接阿里雲的大數據計算平臺——MaxCompute。mysql

環境要求

  • JDK (1.6以上,推薦1.7)
  • Kettle(建議5.4.0之後的版本)
  • Apache Maven 3.x

插件部署

下載MaxCompute的Kettle插件包

$ wget http://repo.aliyun.com/download/aliyun-kettle-odps-plugin-1.0.0.tar.gz

部署Kettle MaxCompute插件

將kettle-odps-plugin安裝到Kettle plugins目錄下sql

$ cp aliyun-kettle-odps-plugin-1.0.0.tar.gz {YOUR_KETTLE_DIRECTORY}/plugins
$ cd {YOUR_KETTLE_DIRECTORY}/plugins
$ tar zxvf aliyun-kettle-odps-plugin-1.0.0.tar.gz && rm aliyun-kettle-odps-plugin-1.0.0.tar.gz

安裝完成後,重啓Kettle,重啓後新建一個轉換(Transformation),而後能夠在Big Data這個大類中找到Aliyun MaxCompute Input/Output,以下圖所示。數據庫

屏幕快照 2016-11-30 下午5.36.29.png工具

使用場景

這裏舉幾個簡單的示例演示一下如何利用Kettle的MaxCompute插件將數據導入或導出。大數據

MySQL數據導入MaxCompute

安裝MySQL JDBC Connector

kettle默認是沒有MySQL的JDBC Connector的,須要先下載MySQL 的JDBC Connector,將Connector的jar包放至kettle的lib目錄下,重啓kettle便可。阿里雲

Steps配置

  • 新建mysql的DB鏈接

mysql connect.png

  • 添加mysql的表輸入

表輸入配置須要提供一個sql,本例是要將Mysql數據庫的words表導入MaxCompute中,以下圖所示,運行「select * from words;」這樣一條SQL便可,其中words表的schema爲「(id int, line varchar(1000))」。
mysql input.pngurl

  • 添加Aliyun MaxCompute Output

首先須要要MaxCompute中建立與Mysql數據源相對應的數據表,本例中建表語句以下:spa

create table testoyz (a bigint, b string);

而後,以下圖所示,配置好endpoint, accessId, accessKey, projectName, tableName等必要的參數。.net

粘貼圖片0.png

  • 運行轉換,查看結果

運行已經創建好的轉換Steps,運行成功後,能夠在MaxCompute的相應數據表中查詢到傳輸過來的數據。

odps@ xxx_project_name>read testoyz;
+------------+------------+
| a          | b          |
+------------+------------+
| 1          | hello world |
| 2          | hello maxcompute |
| 3          | test test test |
+------------+------------+

將MaxCompute表導出到Excel文件

能夠使用Aliyun MaxCompute Input組件下載MaxCompute中的表數據到Excel文件中,下圖的配置是將上個例子中的表導出爲Excel文件。

粘貼圖片1.png

配置好後運行轉換,表中的數據會被下載保存在excel文件中。

相關文章
相關標籤/搜索