马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
一、题目形貌
为了支持相应的业务需求,本次生产情况通过Hive SQL来完成动态插入分区表数据的脚本开发。但是,动态分区的插入通常会伴随产生大量的小文件的发生。而小文件产生过多的影响紧张分为以下两种情况:
(1) 从Hive的角度看,小文件会开许多map,一个map开一个JVM去实行,以是这些使命的初始化,启动,实行会浪费大量的资源,严峻影响性能。
(2)在HDFS中,每个小文件对象约占150byte,假如小文件过多会占用大量内存。如许NameNode内存容量严峻制约了集群的扩展。
以是,我们必须要办理上述小文件过多的情况,可以从输入、中央过程和输出来入手举行优化。
二、知识概括
1.扼要形貌动态分区
所谓的动态分区,就是对分区表insert数据时间,数据库主动会根据分区字段的值,将数据插入到相应的分区中,Hive也提供了雷同的机制,即动态分区。
·在PARTITION (month,day)中指定分区字段名即可;
·在SELECT子句的末了两个字段,必须对应前面PARTITION (month,day)中指定的分区字段,包罗次序。
| [注意] hive使用动态分区,须要举行相应的设置。
2. 动态分区相干设置项先容
● hive.exec.dynamic.partition
○ 默认值:false
○ 是否开启动态分区功能,默以为关闭状态
|
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |