Hive 分割槽表

2021-10-10 23:30:35 字數 3348 閱讀 8189

分割槽表的查詢

讓分割槽表和資料產生關聯的三種方式

create

table student(id int

,name string)

partitioned by

(day string)

row format delimited fields

terminated

by','

;

load

data

local inpath '/home/data'

into

table student partition

(day

='2020-11-29'

);

select

*from student where

day=

'2020-11-29'

;

select

*from student where

day=

'2020-11-29'

;

select

*from student where

day=

'2020-11-20'

orday

='2020-11-29'

;

alter

table table_name add

partition

(day

='2020-11-29');

//增加多個

alter

table table_name add

partition

(day

='2020-11-29'

)partition

(day

='2020-11-30'

);

alter

table table_name drop

partition

(day

='2020-11-29');

//同時刪除多個分割槽

alter

table table_name drop

partition

(day

='2020-11-29'),

partition

(day

='2020-11-30'

);

create

table student(id int

,name string)

partitioned by

(day string,

hour string)

row format delimited fields

terminated

by','

;

load

data

local inpath '/home/data'

into

table student partition

(day

='2020-11-29'

,hour

='13'

);

select

*from student where

day=

'2020-11-29'

;select

*from student where

day=

'2020-11-29'

andhour

='13'

;

msck repair table student;
alter

table student add

partition

(day

='2020-10-11'

);

load

data

local inpath '/home/data.txt'

into

table student partition

(day

='2020-11-29'

);

//開啟動態分割槽功能(預設true,開啟)

hive.

exec

.dynamic.

partition

=true

//設定為非嚴格模式(動態分割槽模式,預設strict,表示必須指定至少乙個富趣味靜態分割槽,

//nonstrict模式表示允許所有的分割槽欄位都可以是使用動態分割槽)

hive.

exec

.dynamic.

partition

.mode

=nonstrict

//在所有執行mr的節點上,最大一共可以建立多少個動態分割槽,預設是一千

hive.

exec

.max.dynamic.partitions=

1000

//這個是每個mr節點上最大的動態分割槽數、這個需要根據實際情況來定,比如儲存了一年的資料,要動態分割槽,

//如果是以天來分割槽的話,那麼動態分割槽應該大於365,否則會報錯

hive.

exec

.dynamic.partitions.pernode=

100//整個mrjob最大可以建立多少hdfs檔案,預設1000000

hive.

exec

.max.

create

.file

=100000

//當有空分割槽生成時是否丟擲異常,一般不需要設定,預設false

hive.error.

on.empty.

partition

=false

create

table student(id int

,name string)

partitioned by

(day string)

row format delimited fields

terminated

by','

;

insert

into

table student partition

(day

)select id,name,

dayfrom dept;

hive 分割槽表

partitioned by create table tb name name string partitioned by age int row format delimited fields terminated by t load data local inpath file path in...

hive分割槽表

partition對應於資料庫的 partition 列的密集索引 在 hive 中,表中的乙個 partition 對應於表下的乙個目錄,所有的 partition 的資料都儲存在對應的目錄中 例如 test表中包含 date 和 city 兩個 partition 則對應於date 201302...

hive 分割槽表

建立分割槽表的原因 單錶資料量隨著時間越來越大。為了避免全表掃瞄,引入分割槽。hive分割槽和mysql分割槽表的區別?hive分割槽使用表外字段,mysql使用表內字段。hive分割槽表細節?1.hive分割槽的字段是乙個偽欄位,它不會在表中真實存在,可以用來過濾查詢等 2.乙個表或者乙個分割槽可...