天天看點

《Hadoop實戰手冊》一1.10 在Greenplum外部表中使用HDFS

本節書摘來異步社群《hadoop實戰手冊》一書中的第1章,第1.10節,作者: 【美】jonathan r. owens , jon lentz , brian femiano 譯者: 傅傑 , 趙磊 , 盧學裕 責編: 楊海玲,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

greenplum是一個并行資料庫,資料的存儲與查詢基于一個或多個postgresql執行個體。它補充了hadoop,提供對大資料的實時或準實時通路,它還支援使用hdfs檔案作為外部表。外部表是一個處理greenplum叢集之外資料很好的解決方案。由于外部表通路首先要消耗網絡帶寬,是以與greenplum叢集内的資料相比,它應該存儲那些通路相對不頻繁的資料。本節将介紹如何建立隻讀的外部表和可讀寫的外部表。

準備工作

在本節假定你使用的hadoop版本為cdh3。

按照下面的方式配置greenplum。

gp_hadoop_target_version設定為cdh3u2。

gp_hadoop_home設定為$hadoop_home的完整路徑。

在greenplum叢集的每個節點上都需要安裝1.6以上(包含1.6)版本的java。

操作步驟

建立hdfs上weblogs檔案的一個外部表:

工作原理

greenplum本地支援并行地将hdfs上的資料加載到資料庫中。當一個查詢需要通路表weblog_entries.txt時,該檔案會被加載為greenplum的一個臨時表,然後執行對該臨時表的查詢。等到查詢結束以後再将該表丢棄。

更多參考

greenplum也支援對外部表的寫操作。這需要在建立表的時候指定寫關鍵字: