hive动态分区参数配置 利用sql怎么设置

hive动态分区参数配置 利用sql怎么设置,第1张

静态分区SP(static partition)

动态分区DP(dynamic partition)

静态分区与动态分区的主要区别在于静态分区是手动指定,而动态分区是通过数据来进行判断。详细来说,静态分区的列实在编译时期,通过用户传递来决定的;动态分区只有在SQL执行时才能决定。

二)实战演示如何在Hive中使用动态分区

1、创建一张分区表,包含两个分区dt和ht表示日期和小时

[sql] view plain copy

CREATE TABLE partition_table001

(

name STRING,

ip STRING

)

PARTITIONED BY (dt STRING, ht STRING)

ROW FORMAT DELIMITED FIELDS TERMINATED BY "\t"

2、启用hive动态分区,只需要在hive会话中设置两个参数:

set hive.exec.dynamic.partition=true(查看语句:set hive.exec.dynamic.partition)

set hive.exec.dynamic.partition.mode=nonstrict

注:该属性默认是strict,即限制模式,避免全部分区字段都是动态的。应该必须至少一个分区字段是指定有值即静态的,且必须放在最前面。

设置为nonstrict之后所有的分区都可以是动态的了。

SET hive.exec.max.dynamic.partitions=500000(如果自动分区数大于这个参数,将会报错)

注:这个属性表示一个DML *** 作可以创建的最大动态分区数,默认是1000

SET hive.exec.max.dynamic.partitions.pernode=500000

注:这个属性表示每个节点生成动态分区的最大个数,默认是100

SET hive.exec.max.created.files=150000  

注:这个属性表示一个DML *** 作可以创建的最大文件数,默认是100000


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6620454.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-25
下一篇 2023-03-25

发表评论

登录后才能评论

评论列表(0条)

保存