【解决】hive动态增加partitions不能超过100的问题

Author: kwu 

【解决】hive动态增加partitions不能超过100的问题,全量动态生成partitions超过100会出现如下异常:

[plain]  view plain copy
  1. The maximum number of dynamic partitions is controlled by hive.exec.max.dynamic.partitions and hive.exec.max.dynamic.partitions.pernode. Maximum was set to: 100  

解决100限制,可设置如下参数:

[sql]  view plain copy
  1. set hive.exec.dynamic.partition.mode=nonstrict;  
  2. SET hive.exec.max.dynamic.partitions=100000;   
  3. SET hive.exec.max.dynamic.partitions.pernode=100000;   
  4. insert overwrite table ods.cms_entity PARTITION (DAY)  
  5. select   
  6. ENTITY_ID  ,  
  7. ENTITY_NAME  ,  
  8. ENTITY_DESC  ,  
  9. ENTITY_TYPE  ,  
  10. ENTITY_PID  ,  
  11. ENTITY_TIME  ,  
  12. ENTITY_PRIORITY  ,  
  13. ENTITY_STATUS  ,  
  14. ENTITY_CHANNEL  ,  
  15. ENTITY_EDITOR  ,  
  16. ENTITY_TEMPLATE  ,  
  17. ENTITY_URL    ,  
  18. ENTITY_CATEGORY  ,  
  19. ENTITY_PARAM  ,  
  20. ENTITY_SHORTNAME  ,  
  21. ENTITY_SUBTYPE  ,  
  22. ENTITY_COMPDELAY  ,  
  23. day  
  24. from stage.cms_entity_by_day;  


设置动态partitions为100000,该语句插入几年按天的partitions超过1000个,成功执行语句。

你可能感兴趣的:(hive)