
可用的客戶端
|
273
由於在 Hive 中,儲存處理程序會在較高階層上無縫地運作,你也可以使用由 Hive 提供
的
使用者定義函數
(
user-defined function,
UDF)-或你自己的客製化函數。
然而在目前的版本,它有一些的缺點:
序列化無法客製化
HBase 只能儲存
byte[]
陣列,所以 Hive 純粹是把每一個欄位值轉換為字串,並從
這裡來序列化它。舉例來說,一個
INT
欄位值設定為
12
,如果要儲存到 Hive 上,就
要用
Bytes.toBytes("12")
。
沒有版本支援
處理 HBase 資料表的時候,目前沒有辦法指定任何的版本。Hive 只能夠支援最近期
的版本。
檢查 Hive 專案網站,來看這些特性是否已經被加上去了。
Pig
Apache Pig
12
專案提供了一個平台來分析巨量的資料。它有一個高階查詢語言,稱之為
Pig Latin
,它使用一種命令式的程式風格,將輸入資料到最終輸出的轉換過程制定成步
驟。這與 Hive 用宣告式策略來模擬 SQL 是相反的。
Pig Latin 本質上,與 HiveQL 相比,對具有程序程式開發背景的人會有吸引力,而且明
顯地它用於平行處理上。當它和具有威力的 Hadoop 和 MapReduce 框架結合之後,你可
以在合理的時間內,來處理巨量的資料。
Pig 0.7.0 版,推出了
LoadFunc/StoreFunc
類別和功能,讓你可以從常用的 HDFS 之外的
來源,載入和儲存資料。其中一個來源是 HBase,實作於
HBaseStorage ...