kettle入門(三) 之kettle串連hadoop&hdfs圖文詳解

來源:互聯網
上載者:User

標籤:etl   kettle   hadoop   hdfs   大資料   

1 引言:


項目最近要引入大資料技術,使用其處理加工日上網話單資料,需要kettle把原始文本資料load到hadoop環境中


2 準備工作:


1 首先

要瞭解支援hadoop的Kettle版本情況,由於kettle資料網上較少,所以最好去官網找,官網的url:

http://wiki.pentaho.com/display/BAD/Configuring+Pentaho+for+your+Hadoop+Distro+and+Version

開啟這個url 到開啟頁面最下面的底端如:



archive 下面的from PDI 4.3 、 from PDI 4.4 、 from PDI 5.0 即表示支援hadoop的pdi 版本。pdi即pentaho data integration 又稱kettle。PDI 4.3 、 from PDI 4.4 、 from PDI 5.0 即是kettle 4.3 、4.4、 5.0 ,這個版本號碼 包括比其更高的版本(即kettle 5.0.X ,5.1,5.2也支援hadoop)。


2 其次

不同的kettle版本支援的hadoop版本不一樣,以5.1為例子,下面的連結是5.1的支援情況

http://wiki.pentaho.com/display/BAD/Configuring+Pentaho+for+your+Hadoop+Distro+and+Version

 為連結開啟的頁面的中間部分:

 

determine the proper shim for hadoop Distro and version 大概意思是 為hadoop版本選擇合適的套件。表格上面的一行:apache、cloudera、hortonworks、intel、mapr指的是發行方。點擊他們來選擇你 想串連的hadoop的發行方 。 以apache hadoop為例:

Version 指版本號碼 ,shim 指套件的名稱,download 裡面的 included in 5.0,5.1 指kettle的5.0、5.1版本安裝包裡面已經有內建的外掛程式,一句話來講 就是kettle5.1及5.0版本已有外掛程式提供支援apache hadoop版本0.20.x  。不需要額外下載。NS 是不支援的意思 圖片下面也有解釋。


說明的是對 cloudera的 hadoop支援的情況 download 裡面 download的藍色字型超連結的 說明 是要除了下kettle的安裝包外另外下載的 ,帶 included in 5.0,5.1 說明 kettle 5.0,5.1版本的本身就支援(內建有外掛程式)。


由上面兩圖得到的結論是 kettle 5.1 支援 apache hadoop 0.20.x版本 及cloudera hadoop CDH4.0 到CDH5。



3  實驗運行:


1 首先配置工作

當前我用的hadoop 版本是hadoop-2.2.0-cdh5.0 所以用kettle 5.1 且其內建有hadoop外掛程式。去kettle官網下載:

解壓之後 就是:


下載好之後,現在就需要做配置的工作了,配置的工作在kettle安裝檔案裡面做:

參考:http://wiki.pentaho.com/display/BAD/Hadoop



進頁面之後 先點擊collapse 收縮所有的菜單樹 如。  Configuring Pentaho for your Hadoop Distro and Version 意思是為hadoop 版本做配置 點擊進去:頁面的上面 就是上面說過的kettle對hadoop的支援情況。

我們到頁面的中間部分去,如:



1 意思是 你想要串連的hadoop發行版 已經被kettle支援了,但是沒有內建外掛程式,需要下載,這種情況最好 看下:Install Hadoop Distribution Shim

2 意思是你想串連的hadoop發行版 還有沒有被kettle支援,可以自己填寫相應的資訊 要求pentaho 開發一個。

還有1種情況 就是上面說的hadoop發行版 已經被kettle支援了 且有內建的外掛程式。

3 就是配置了。

 3.1 stop application 就是如果kettle在運行 先停掉他。

 3.2 開啟安裝資料夾 我們這邊是kettle 所以就是spoon那個的檔案路徑:

 

 3.3 編輯 plugin.properties檔案

 3.4 改一個配置值 畫圈的地方

 

 改成 對應你hadoop的shim值 (的表格裡面的shim) 我這邊是cdh50:

 

 改之後儲存:

 

至此 配置工作做完。



2 然後開發指令碼工作


下面開始開發指令碼 官方參考:http://wiki.pentaho.com/display/BAD/Loading+Data+into+HDFS

開啟 kettle 運行spoon.bat

:


建立一個kjb檔案 拖一個開始圖元



再拖一個

hadoop copy files即是 load資料到 hdfs裡面。

copy files裡面的配置:



 意思是當前kjb指令碼所在路徑 在我這邊檔案夾是:

目標檔案 是 hdfs://ip:hdfs連接埠/路徑


填之前可以用測試

如 :填好server 和port後  點擊connect 如果沒有報錯 出現紅框 hdfs://......... 就說明串連成功了(如)。



可以運行指令碼試試了:


如,指令碼運行成功。


在hadoop home bin下面查看:

檔案成功load.


至此,kettle load文本資料到hdfs成功!


4 備忘:

所有的步驟都可以參考官網:

http://wiki.pentaho.com/display/BAD/Hadoop



1 是配置 2 是載入資料到hadoop 叢集 3 是載入資料到hdfs 還有其他到 hive 到hbase等。


ps:寫一段長的部落格真累,感覺比幹活還累



kettle入門(三) 之kettle串連hadoop&hdfs圖文詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.