2013-07-10 122 views
0

我有一個要求,使Hive中的數據倉庫和使用HBase服務實時訪問 所以我想知道什麼是相同的架構 我可以首先轉儲數據在HBase和訪問它作爲Rest服務並在Hive中創建外部表,並在其上運行配置單元查詢? 威爾蜂巢分佈即我需要我的集羣中的所有節點上安裝蜂巢否則這將是中央Hive中的數據倉庫

+1

請告訴我們你到目前爲止做了些什麼。 –

回答

0

在回答你的問題:

蜂巢將分發。

爲了獲得最佳性能,我會考慮在羣集的每個節點上安裝Hive。 Hive將HiveQL轉換爲MapReduce作業 - 作業將在數據所在的位置執行。如果這是不可能的,數據將不得不轉移到工作中。爲了響應時間,您需要在每個節點上配置Hive。

要創建引用存儲在HBase中的數據的Hive表,可以查看Hive - HBase Integration wiki。這裏有一個簡單的例子:

CREATE TABLE hbase_table_1(key int, value string) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val") 
TBLPROPERTIES ("hbase.table.name" = "xyz"); 
+0

感謝Jeremiah爲您提供的輸入信息 –

+0

因此,我可以使用HBase進行近實時查詢嗎?並進行數據轉換hive查詢將在HBase表上運行 –

+0

你明白了!只要您以易於使用HBase讀取的方式構建數據,您應該可以使用HBase進行實時訪問,並使用Hive進行批量處理和轉換。請記住,Hive只是'INSERT' /'DELETE' - 沒有更新。 –