hive的分割槽詳解

2021-12-30 08:53:49 字數 1329 閱讀 5256

表分割槽

分割槽列對應目錄

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

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表就是hdfs的上的乙個目錄 hive表中的資料,其實就是對應了hdfs上的乙個目錄下的資料 概念 對hive表的資料做分割槽管理 建立分割槽表 create table student ptn id int,name string partitioned by age int,...

Hive分割槽partition詳解

請看原文作者的部落格 我補充的是 外部表的分割槽 create external table t2 id int name string hobby array,add map partitioned by pt d string row format delimited fields termin...

hive 分割槽 hive 分割槽概念 0323

1 hive 分割槽表 在hive select查詢中一般會掃瞄整個表內容,會消耗很多時間做沒必要的工作。有時候只需要掃瞄表中關心的一部分資料,因此建表時引入了partition概念。分割槽表指的是在建立表時指定的partition的分割槽空間。hive可以對資料按照某列或者某些列進行分割槽管理,所...