Pentaho Work with Big Data(七)—— 從Hadoop叢集抽取資料

來源:互聯網
上載者:User

標籤:

一、把資料從HDFS抽取到RDBMS
1. 從下面的地址下載樣本檔案。 
http://wiki.pentaho.com/download/attachments/23530622/weblogs_aggregate.txt.zip?version=1&modificationDate=1327067858000

2. 用下面的命令把解壓縮後的weblogs_aggregate.txt檔案放到HDFS的/user/grid/aggregate_mr/目錄下。
hadoop fs -put weblogs_aggregate.txt /user/grid/aggregate_mr/
3. 開啟PDI,建立一個轉換,1所示。


圖1

4. 編輯‘Hadoop File Input‘步驟,2到圖4所示。


圖2


圖3


圖4

說明:
. PDI串連Hadoop叢集參考http://blog.csdn.net/wzy0623/article/details/51086821。
. 以tab作為分隔字元。

5. 編輯‘Table Output‘步驟,5所示。


圖5

說明:
. mysql_local是已經建好的一個本地mysql資料庫連接,設定6所示。


圖6

. “資料庫欄位”標籤不需要設定

6. 執行下面的指令碼建立mysql的表
use test;create table aggregate_hdfs (    client_ip varchar(15),    year smallint,    month_num tinyint,    pageviews bigint);

7. 儲存並執行轉換,日誌7所示。


圖7

從圖7可以看到,轉換已經成功執行。

8. 查詢mysql表,結果8所示


圖8

從圖8可以看到,資料已經從HDFS抽取到了mysql表中。

二、把資料從Hive抽取到RDBMS
1. 執行下面的指令碼建立hive的表
create table weblogs (    client_ip    string,    full_request_date string,    day    string,    month    string,    month_num int,    year    string,    hour    string,    minute    string,    second    string,    timezone    string,    http_verb    string,    uri    string,    http_status_code    string,    bytes_returned        string,    referrer        string,    user_agent    string)row format delimitedfields terminated by '\t';
2. 從下面的地址下載樣本檔案。
http://wiki.pentaho.com/download/attachments/23530622/weblogs_parse.txt.zip?version=1&modificationDate=1327068013000

3. 用下面的命令把解壓縮後的weblogs_parse.txt檔案放到HDFS的/user/grid/parse/目錄下。
hadoop fs -put weblogs_parse.txt /user/hive/warehouse/test.db/weblogs/
至此,hive表裡的資料9所示。


圖9

4. 開啟PDI,建立一個轉換,10所示。


圖10

5. 編輯‘Table input‘步驟,11所示。


圖11

說明:hive_101是已經建好的一個hive資料庫連接,設定12所示。


圖12

說明:PDI串連 Hadoop hive 2,參考http://blog.csdn.net/wzy0623/article/details/50903133。

6. 編輯‘Table output‘步驟,13所示。


圖13

說明:
. mysql_local是已經建好的一個本地mysql資料庫連接,設定6所示。
. “資料庫欄位”標籤不需要設定

7. 執行下面的指令碼建立mysql的表
use test;create table aggregate_hive (    client_ip varchar(15),    year varchar(4),    month varchar(10),    month_num tinyint,    pageviews bigint);
8. 儲存並執行轉換,日誌14所示。


圖14

從圖14可以看到,轉換已經成功執行。

9. 查詢mysql表,結果15所示


圖15

從圖15可以看到,資料已經從hive資料庫抽取到了mysql表中。

參考:
http://wiki.pentaho.com/display/BAD/Extracting+Data+from+HDFS+to+Load+an+RDBMS
http://wiki.pentaho.com/display/BAD/Extracting+Data+from+Hive+to+Load+an+RDBMS

Pentaho Work with Big Data(七)—— 從Hadoop叢集抽取資料

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.