
- Talend教程
- Talend - 首頁
- Talend - 簡介
- Talend - 系統需求
- Talend - 安裝
- Talend Open Studio
- Talend - 資料整合
- Talend - 模型基礎
- 資料整合元件
- Talend - 作業設計
- Talend - 元資料
- Talend - 上下文變數
- Talend - 作業管理
- Talend - 處理作業執行
- Talend - 大資料
- Hadoop分散式檔案系統
- Talend - Map Reduce
- Talend - 使用Pig
- Talend - Hive
- Talend有用資源
- Talend - 快速指南
- Talend - 有用資源
- Talend - 討論
Talend - Hadoop分散式檔案系統
本章節,我們將詳細學習Talend如何與Hadoop分散式檔案系統協同工作。
設定和先決條件
在開始使用Talend操作HDFS之前,我們應該瞭解為此目的需要滿足的設定和先決條件。
這裡我們在虛擬機器上執行Cloudera quickstart 5.10虛擬機器。此虛擬機器必須使用主機專用網路。
主機專用網路IP:192.168.56.101

您必須在Cloudera Manager上執行相同的主機。

現在在您的Windows系統上,轉到c:\Windows\System32\Drivers\etc\hosts並使用記事本編輯此檔案,如下所示。

同樣,在您的Cloudera quickstart虛擬機器上,編輯您的/etc/hosts檔案,如下所示。
sudo gedit /etc/hosts

設定Hadoop連線
在資源庫面板中,轉到元資料。右鍵單擊Hadoop叢集並建立一個新的叢集。為此Hadoop叢集連線提供名稱、用途和說明。
點選下一步。

選擇分發版為Cloudera,並選擇您正在使用的版本。選擇檢索配置選項,然後單擊下一步。

輸入管理器憑據(帶埠的URI、使用者名稱、密碼),如下所示,然後單擊連線。如果詳細資訊正確,您將在已發現的叢集下獲得Cloudera QuickStart。

點選獲取。這將獲取HDFS、YARN、HBASE、HIVE的所有連線和配置。
全選並點選完成。

請注意,所有連線引數都將自動填充。在使用者名稱中提及cloudera,然後單擊完成。

這樣,您就成功連線到Hadoop叢集。

連線到HDFS
在此作業中,我們將列出HDFS上存在的所有目錄和檔案。
首先,我們將建立一個作業,然後向其中新增HDFS元件。右鍵單擊作業設計並建立一個新作業 – hadoopjob。
現在從調色盤中新增2個元件 – tHDFSConnection和tHDFSList。右鍵單擊tHDFSConnection,並使用“OnSubJobOk”觸發器連線這兩個元件。
現在,配置這兩個Talend HDFS元件。

在tHDFSConnection中,選擇資源庫作為屬性型別,並選擇您之前建立的Hadoop Cloudera叢集。它將自動填充此元件所需的所有必要詳細資訊。

在tHDFSList中,選擇“使用現有連線”,並在元件列表中選擇您配置的tHDFSConnection。
在HDFS目錄選項中提供HDFS的主目錄路徑,並單擊右側的瀏覽按鈕。

如果您已使用上述配置正確建立連線,您將看到如下所示的視窗。它將列出HDFS主目錄上存在的所有目錄和檔案。

您可以透過檢查Cloudera上的HDFS來驗證這一點。

從HDFS讀取檔案
在本節中,讓我們瞭解如何在Talend中從HDFS讀取檔案。您可以為此目的建立一個新作業,但是這裡我們使用現有的作業。
從調色盤拖放3個元件 – tHDFSConnection、tHDFSInput和tLogRow到設計器視窗。
右鍵單擊tHDFSConnection,並使用“OnSubJobOk”觸發器連線tHDFSInput元件。
右鍵單擊tHDFSInput,並將主要連結拖動到tLogRow。

請注意,tHDFSConnection將與之前的配置類似。在tHDFSInput中,選擇“使用現有連線”,並在元件列表中選擇tHDFSConnection。
在檔名中,提供要讀取的檔案的HDFS路徑。這裡我們讀取一個簡單的文字檔案,所以我們的檔案型別是文字檔案。同樣,根據您的輸入,填寫如下所示的行分隔符、欄位分隔符和標題詳細資訊。最後,單擊“編輯模式”按鈕。

由於我們的檔案只有純文字,我們只新增一個字串型別的列。現在,單擊確定。
注意 - 當您的輸入具有多種不同型別的列時,您需要在此處相應地提及模式。

在tLogRow元件中,單擊編輯模式中的同步列。
選擇您希望輸出列印的模式。

最後,單擊執行以執行作業。
成功讀取HDFS檔案後,您可以看到以下輸出。

將檔案寫入HDFS
讓我們看看如何在Talend中將檔案寫入HDFS。從調色盤拖放3個元件 – tHDFSConnection、tFileInputDelimited和tHDFSOutput到設計器視窗。
右鍵單擊tHDFSConnection,並使用“OnSubJobOk”觸發器連線tFileInputDelimited元件。
右鍵單擊tFileInputDelimited,並將主要連結拖動到tHDFSOutput。

請注意,tHDFSConnection將與之前的配置類似。
現在,在tFileInputDelimited中,在檔名/流選項中提供輸入檔案的路徑。這裡我們使用csv檔案作為輸入,因此欄位分隔符為“,”。
根據您的輸入檔案選擇標題、頁尾和限制。請注意,這裡我們的標題為1,因為第1行包含列名,限制為3,因為我們只將前3行寫入HDFS。
現在,單擊編輯模式。

現在,根據我們的輸入檔案,定義模式。我們的輸入檔案有3列,如下所示。

在tHDFSOutput元件中,單擊同步列。然後,在“使用現有連線”中選擇tHDFSConnection。此外,在檔名中,提供要寫入檔案的HDFS路徑。
請注意,檔案型別將為文字檔案,操作將為“建立”,行分隔符將為“\n”,欄位分隔符為“;”。

最後,單擊執行以執行您的作業。作業成功執行後,檢查您的檔案是否在HDFS上。

使用您在作業中提到的輸出路徑執行以下hdfs命令。
hdfs dfs -cat /input/talendwrite
如果您成功寫入HDFS,您將看到以下輸出。
