Hive動態分割槽
Hive動態分割槽
一)hive中支援兩種型別的分割槽:
靜態分割槽SP(static partition)
動態分割槽DP(dynamic partition)
靜態分割槽與動態分割槽的主要區別在於靜態分割槽是手動指定,而動態分割槽是通過資料來進行判斷。詳細來說,靜態分割槽的列實在編譯時期,通過使用者傳遞來決定的;動態分割槽只有在SQL執行時才能決定。
二)實戰演示如何在hive中使用動態分割槽
1、建立一張分割槽表,包含兩個分割槽dt和ht表示日期和小時
CREATE TABLE partition_table001
(
name STRING,
ip STRING
)
PARTITIONED BY (dt STRING, ht STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY " ";
2、啟用hive動態分割槽,只需要在hive會話中設定兩個引數:
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
3、把partition_table001表某個日期分割槽下的資料load到目標表partition_table002 使用靜態分割槽時,必須指定分割槽的值,如:
create table if not exists partition_table002 like partition_table001;
insert overwrite table partition_table002 partition (dt=`20150617`, ht=`00`) select name, ip from partition_table001 where dt=`20150617` and ht=`00`;
此時我們發現一個問題,如果希望插入每天24小時的資料,則需要執行24次上面的語句。而動態分割槽會根據select出的結果自動判斷資料改load到哪個分割槽中去。
4、使用動態分割槽
insert overwrite table partition_table002 partition (dt, ht) select * from partition_table001 where dt=`20150617`;
hive先獲取select的最後兩個位置的dt和ht引數值,然後將這兩個值填寫到insert語句partition中的兩個dt和ht變數中,即動態分割槽是通過位置來對應分割槽值的。原始表select出來的值和輸出partition的值的關係僅僅是通過位置來確定的,和名字並沒有關係,比如這裡dt和st的名稱完全沒有關係。
只需要一句SQL即可把20150617下的24個ht分割槽插到了新表中。
相關文章
- Hive的靜態分割槽與動態分割槽Hive
- Hive動態分割槽詳解Hive
- Hive中靜態分割槽和動態分割槽總結Hive
- hive 動態分割槽插入資料表Hive
- hive Sql的動態分割槽問題HiveSQL
- 好程式設計師大資料培訓分享Hive的靜態分割槽與動態分割槽程式設計師大資料Hive
- 好程式設計師大資料開發之掌握Hive的靜態分割槽與動態分割槽程式設計師大資料Hive
- HIVE基本語法以及HIVE分割槽Hive
- Hive和Spark分割槽策略HiveSpark
- Spark操作Hive分割槽表SparkHive
- Hive的分割槽和排序Hive排序
- [Hive]hive分割槽設定注意事項Hive
- 非 LVM 分割槽動態擴容LVM
- hive分割槽和分桶你熟悉嗎?Hive
- 一起學Hive——使用MSCK命令修復Hive分割槽Hive
- mysql 動態新建以及刪除分割槽表MySql
- ODPS輸出到動態分割槽(DYNAMIC PARTITION)
- SSD固態硬碟要分割槽嗎?SSD固態硬碟分割槽與不分割槽的效能對比硬碟
- hive迷案之消失的分割槽檔案Hive
- hive學習筆記之四:分割槽表Hive筆記
- hive 分割槽表和分桶表區別Hive
- 作業系統 『動態(可變)分割槽分配』作業系統
- 固態硬碟分割槽與不分割槽的區別 秒懂SSD要不要分割槽硬碟
- 固態硬碟怎麼分割槽硬碟
- 處理動態分割槽時出現的異常
- SSD固態硬碟要分割槽嗎?不同容量SSD固態硬碟分割槽方案建議硬碟
- hive中的表、外部表、分割槽和桶的理解Hive
- Oracle12c:建立主分割槽、子分割槽,實現自動分割槽插入效果Oracle
- 自動備份、截斷分割槽表分割槽資料
- DiskGenius分割槽行動硬碟硬碟
- hive從入門到放棄(四)——分割槽與分桶Hive
- 【實驗】【PARTITION】RANGE分割槽表移動表分割槽(Move Partition)
- 海量資料處理_表分割槽(分割槽自動維護與歷史分割槽歸檔)
- 如何查詢分割槽表的分割槽及子分割槽
- SSD固態硬碟是分割槽好還是不分割槽好?SSD固態硬碟使用注意事項硬碟
- 全面學習分割槽表及分割槽索引(10)--交換分割槽索引
- PLSQL根據分割槽表的分割槽名批次truncate分割槽SQL
- Linux主分割槽,擴充套件分割槽,邏輯分割槽Linux套件