資料庫分割槽的主要目的是為了在特定的sql操作中減少資料讀寫的總量以縮減響應時間,主要包括兩種分割槽形式:水平分割槽與垂直分割槽。水平分割槽是對錶進行行分割槽。而垂直分割槽是對列進行分割槽,一般是通過對錶的垂直劃分來減少目標表的寬度,常用的是水平分割槽。
回到頂部
hive.exec.max.dynamic.partitions:允許的最大的動態分割槽的個數。預設1000。
hive.exec.max.dynamic.partitions.pernode:乙個mapreduce job所允許的最大的動態分割槽的個數。預設是100。
回到頂部
(1)分割槽表建立
create table test.user_list((2)臨時表建立(輔助分割槽表測試)user_id string,
msisdn string,
imsi string)
partitioned by (city string,sdate string)
row format delimited fields terminated by ',';
create table test.user_list_tmp(回到頂部user_id string,
msisdn string,
imsi string
city string,
sdate string)
row format delimited fields terminated by ',';
(1)靜態分割槽插入資料:
insert into table user_list partition(city='hangzhou',sdate='20200101')(2)動靜混合分割槽插入資料select
t.user_id,
t.msisdn,
t.imsi
from test.user_list_tmp t
set hive.exec.dynamic.partition=true;注意:動靜分割槽混合時,靜態分割槽引數必須放置在前面。set hive.exec.dynamic.partition.mode=strick;
--set hive.exec.dynamic.partition.mode=nonstrick;
insert into table user_list partition(city='hangzhou',sdate)
select
t.user_id,
t.msisdn,
t.imsi,
t.sdate
from test.user_list_tmp t
(3)動態分割槽插入資料
set hive.exec.dynamic.partition=true;回到頂部set hive.exec.dynamic.partition.mode=nonstrick;
insert into table user_list partition(city,sdate)
select
t.user_id,
t.msisdn,
t.imsi,
t.city,
t.sdate
from test.user_list_tmp t
insert into示例:
insert into table user_list partition(city='hangzhou',sdate='20200101')insert overwrite示例:select
t.user_id,
t.msisdn,
t.imsi
from test.user_list_tmp t
insert overwrite table user_list partition(city='hangzhou',sdate='20200101')兩者區別:insert into直接追加到表中資料的尾部,而insert overwrite會重寫資料,既先進行刪除,再寫入。select
t.user_id,
t.msisdn,
t.imsi
from test.user_list_tmp t
hive之insert匯入分割槽資料
資料庫分割槽的主要目的是為了在特定的sql操作中減少資料讀寫的總量以縮減響應時間,主要包括兩種分割槽形式 水平分割槽與垂直分割槽。水平分割槽是對錶進行行分割槽。而垂直分割槽是對列進行分割槽,一般是通過對錶的垂直劃分來減少目標表的寬度,常用的是水平分割槽。hive.exec.max.dynamic.p...
Hive分割槽表匯入資料
在hive上建立乙個簡單的分割槽表 create table school student info name string,age int,string partitioned by grade string,teacher string row format serde org.apache.h...
Hive之動態分割槽
關係型資料庫中,對分割槽表 insert 資料時候,資料庫自動會根據分割槽欄位的值,將資料插入到相應的分割槽中,hive 中也提供了類似的機制,即動態分割槽 dynamic partition 只不過,使用 hive 的動態分割槽,需要進行相應的配置。1 開啟動態分割槽引數設定 1 開啟動態分割槽功...