iT邦幫忙

DAY 22
3

動物園之路系列 第 19

動物園之路 -22- 大象吃蜂蜜(續)

  • 分享至 

  • xImage
  •  

接下來會帶到Hive的應用實做,如果想要把Script紀錄起來,
就可以用Hue Beeswax(Hive UI),還可以用介面寫UDF,蠻方便了。

這次也是使用同樣的資料集...(沒梗XD)
Hive可以先把它當成趴字串的一個引擎,例如有一個用逗號來分隔的CSV檔,
你可以對那個檔案執行SQL的指令。

建立與匯入
首先我先建立一個Table,Hive在建立的時候,要指定這個Table有幾個欄位,用什麼來做分隔。
再將上次的資料集匯入這個Table。

CREATE TABLE cards (kinds STRING,number STRING) ROW FORMAT DELIMITEDS TERMINATED BY ' ';
LOAD DATA INPATH 'cardinput.txt' OVERWRITE INTO TABLE cards;

運算測試
因為還沒切partition,所以可以看到沒有做分隔。為了來看Hive在運算的結果,
我直接下Count(*)來看結果。

select count(*) from cards;

Bucket&Partition
Hive也可以在塞資料的時候進行檔案分割,有bucket與partition。
bucket和partition的效果不太一樣,前者可以幫助檔案做平均分散,可讓I/O平均分散運作,partition則是讓資料量變少。
來看看如果用bucket 來存放這些資料,會有什麼差異?

CREATE TABLE bucket_cards (kinds STRING, number STRING) CLUSTERED BY (kinds) into 4 buckets;
//接著倒入剛才的原始資料
INSERT OVERWRITE TABLE bucket_cards SELECT * from cards;

來看看倒入HDFS的內容為何?


上一篇
動物園之路 -21- 大象吃蜂蜜
下一篇
動物園之路 -23- 大象的NOSQL-HBase
系列文
動物園之路27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

我要留言

立即登入留言