hive的分割槽

2021-08-22 13:40:52 字數 1701 閱讀 1785

表分割槽

•分割槽列對應目錄

•作用:輔助查詢,縮小查詢範圍,加快資料的檢索速度和對資料按照一定的規格和條件進行管理

•新增分割槽

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清晰轉換等 最終業務層 適合做增量表,...