[英]Dynamic partition in hive
我在蜂巢中創建了一個具有動態分區的表,如下所示
create table sample(uuid String,date String,Name String,EmailID String,Comments String,CompanyName String,country String,url String,keyword String,source String) PARTITIONED BY (id String) Stored as parquet;
我也在蜂巢殼中設置了以下內容
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.max.dynamic.partitions=100000000;
set hive.exec.max.dynamic.partitions.pernode=100000000;
set hive.exec.max.created.files = 100000000;
這是一個好習慣,因為我如上所述為每個動態分區配置將值設置為1億?
動態分區是為那些具有新分區值的表設計的。 如果您的表將受到INSERT子句的影響,那么它是正確的,如果沒有動態分區,則必須執行另一個查詢來創建新的查詢,或者您必須先知道這些查詢的值:
FROM page_view_stg pvs
INSERT OVERWRITE TABLE page_view PARTITION(dt='2008-06-08', country='US')
SELECT pvs.viewTime, pvs.userid, pvs.page_url, pvs.referrer_url, null, null, pvs.ip WHERE pvs.country = 'US'
在官方的Hive教程中,您可以查看示例。
分區的最佳實踐與存儲的數據類型有關 。 例如:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.