靜態分區 SP(static partition)
1、靜態分區是在編譯期間指定的指定分區名
2、支持load和insert兩種插入方式
2.1load方式
1)會將分區字段的值全部修改為指定的內容
2)一般是確定該分區內容是一致的時候才會使用
2.2insert方式
1)必須先將數據放在一個沒有設置分區的普通表中
2)該方式可以在一個分區內存儲一個范圍的內容
3)從普通表中選出的字段不能包含分區字段
3、適用于分區數少,分區名可以明確的數據 動態分區 DP(dynamic partition)
1、根據分區字段的實際值,動態進行分區
2、是在sql執行的時候進行分區
3、需要先將動態分區設置打開(set hive.exec.dynamic.partition.mode=nonstrict )
4、只能用insert方式
5、通過普通表選出的字段包含分區字段,分區字段放置在最后,多個分區字段按照分區順序放置 靜態分區與動態分區的主要區別在于靜態分區是手動指定,而動態分區是通過數據來進行判斷。