KETTLE-Hadoop文件數據抽取及輸出

一、需求說明
將源表(T_USER)中的用戶信息同步到Hadoop中,然後再抽取Hadoop文件中數據到文本文件中。

二、啓動kettle
雙擊 Spoon.bat 就能啓動 kettle 。

三、創建轉換
1.Hadoop集羣配置說明
首先需要從hadoop集羣中(/../hadoop-3.1.2/etc/hadoop)複製core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-site.xml文件到shim文件夾中(..\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\cdh514),替換已有的文件。
KETTLE-Hadoop文件數據抽取及輸出

注意要修改這些配置文件。比如hadoop節點的地址是不是正確等。由於core-site. xml 裏面用的 hostname 連接的,而我們配置的時候用的 ip,所以需要修改core-site.xml爲ip,然後重啓Spoon。

KETTLE-Hadoop文件數據抽取及輸出

由於Hadoop權限管理是弱管理,此處用戶名和密碼可以缺省。不過往Hadoop創建文件需要進行權限鑑證,所以此處修改Hadoop中的core-site.xml文件如下所示,表示不經過任何驗證,所有用戶擁有全部權限。(修改此配置需要重啓hadoop):

<property>
<name>hadoop.security.authorization</name>
<value>false</value>
</property>

2.打開 kettle,點擊 文件->新建->轉換。

3.HDFS連接配置說明
打開左側“主對象樹”-》“Hadoop Clusters”新建一個Hadoop集羣配置,此處我採用的是一個僞分佈式集羣環境,輸入集羣信息,點擊測試,右邊是測試結果。
KETTLE-Hadoop文件數據抽取及輸出

填寫相應的配置值。具體含義見下表。
KETTLE-Hadoop文件數據抽取及輸出

Hostname輸入主節點IP,Port輸入端口,此處跟core-site.xml中配置端口相同。
KETTLE-Hadoop文件數據抽取及輸出

顯示對勾的說明測試成功,紅×說明出現問題,黃三角是警告。(上面這幾個紅叉不影響後面的使用,這塊的排除暫且跳過)。
在左側找到表輸入(核心對象->輸入->表輸入),Hadoop文件輸出(Big Data->Hadoop File output),如下所示:
KETTLE-Hadoop文件數據抽取及輸出

雙擊右側表輸入,進行配置,選擇數據源,並輸入 SQL。可以點擊預覽進行預覽數據。
KETTLE-Hadoop文件數據抽取及輸出

4.Hadoop文件輸出配置
雙擊Hadoop文件輸出,選擇Hadoop集羣配置,輸出路徑,文件擴展名
KETTLE-Hadoop文件數據抽取及輸出

設置字段分隔符,設置編碼格式爲UTF-8
KETTLE-Hadoop文件數據抽取及輸出

設置輸出字段,可以通過“獲取字段”完成
KETTLE-Hadoop文件數據抽取及輸出

保存,點擊運行,執行Hadoop查詢命令,結果如下所示:
KETTLE-Hadoop文件數據抽取及輸出

查看目錄,hdfs dfs -ls /tmp
KETTLE-Hadoop文件數據抽取及輸出

查看文件,hdfs dfs -cat /tmp/test_0.txt
KETTLE-Hadoop文件數據抽取及輸出

5.Hadoop文件抽取配置
新建一個轉換,拖入Hadoop文件輸入(Big Data->Hadoop File input),然後拖入一個文本文件輸出,如下所示:
KETTLE-Hadoop文件數據抽取及輸出

雙擊Hadoop文件輸入進行配置,選擇Hadoop集羣鏈接,選擇文件
KETTLE-Hadoop文件數據抽取及輸出

設置分隔符和編碼方式
KETTLE-Hadoop文件數據抽取及輸出

設置輸入字段
KETTLE-Hadoop文件數據抽取及輸出

輸出到文本文件不做說明,請參考之前課程。執行轉換,查看結果。
KETTLE-Hadoop文件數據抽取及輸出

注意:想要學習通過kettle工具實現hive、hbase數據庫抽取輸出,和其他更多關於kettle的知識,請掃描以下二維碼或者鏈接獲取學習資料
鏈接地址:
https://edu.51cto.com/sd/e80d0
二維碼地址:
KETTLE-Hadoop文件數據抽取及輸出

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章