表分割槽
•分割槽列對應目錄
•作用:輔助查詢,縮小查詢範圍,加快資料的檢索速度和對資料按照一定的規格和條件進行管理
•新增分割槽
alter table
ods_cities
add if not exists partition(year='2015', month='09',
day='01')
location '/user/
xiaoju
/data/bi/
gal_dw
/ods_cities
/2015/09/01';
•檢視分割槽
show partitions
ods_cities;
•刪除分割槽(內部表會對應刪除資料)
alter table
ods_cities
drop partition(year
='2015', month='09',
day='01');
•hive
預設是靜態分割槽
•靜態分割槽語句
insert overwrite table test_static_pt_table partition (month=『05』,day=』10』)
select url
from test_table;
•查詢分割槽
hive> show partitions test_static_pt_table;
okmonth=05/day=10
•開啟動態分割槽命令
set hive.exec.dynamic.partition=true; --允許使用動態分割槽可通過set hive.exec.dynamic.partition;檢視
set hive.exec.dynamic.partition.mode=nonstrict; --當需要設定所有列為dynamic時需要這樣設定
set hive.exec.max.dynamic.partitions=1000; --如果分割槽總數超過這個數量會報錯
set hive.exec.max.dynamic.partitions.pernode=1000; --單個mr job允許建立分割槽的最大數量
•動態分割槽語句
insert overwrite table test_dynamic_pt_table
partition(month=『06』, day) --注意不能父分割槽是dynamic而子分割槽是static
select url,day --注意day一定要放在最後,這裡可以對分割槽字段進行一些格式化
from test_table where substr(day,1,7)=『2015-06』;
•查詢分割槽
hive> show partitions test_dynamic_pt_table;
okmonth=06/day=2015-06-14
month=06/day=2015-06-15
hive 分割槽 hive 分割槽概念 0323
1 hive 分割槽表 在hive select查詢中一般會掃瞄整個表內容,會消耗很多時間做沒必要的工作。有時候只需要掃瞄表中關心的一部分資料,因此建表時引入了partition概念。分割槽表指的是在建立表時指定的partition的分割槽空間。hive可以對資料按照某列或者某些列進行分割槽管理,所...
Hive的分割槽(partition) 動態分割槽
分割槽是hive存放資料的一種方式。將列值作為目錄來存放資料,就是乙個分割槽。這樣查詢時使用分割槽列進行過濾,只需根據列值直接掃瞄對應目錄下的資料,不掃瞄其他不關心的分割槽,快速定位,提高查詢效率。hive中支援兩種型別的分割槽 靜態分割槽sp static partition 動態分割槽dp dy...
HIVE分割槽,靜態分割槽,動態分割槽
分割槽可以大大提公升hive的效能,這裡就要提到數倉的分層 原始資料層,儲存原始收集的資料 數倉明細層,裡面做的是轉換和分析,裡面包含部分的資料清洗的過程 數倉服務層,對外業務的處理,如維度轉 鍵 身份證清洗 會員註冊 清晰 字段合併 空值處理 髒資料處理 ip清晰轉換等 最終業務層 適合做增量表,...