標籤:
一、把資料從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叢集抽取資料