过多的动态分区会导致job出现以下情况:
org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException: No lease on /tmp/hive-maintain/hive_2012-11-28_22-39-43_810_1689858262130334284/_task_tmp.-ext-10002/part=33436268/_tmp.000004_0 File does not exist. Holder DFSClient_attempt_201211250925_9859_m_000004_0 does not have any open files.
解决方案:
加大动态分区数即可,下面是在当前session下设置。
SET hive.exec.max.dynamic.partitions=100000;
SET hive.exec.max.dynamic.partitions.pernode=100000;
解决Hive中动态分区过多导致的LeaseExpiredException问题
本文将详细解释在使用Hive处理大数据时,当动态分区数量过多时,可能会遇到的LeaseExpiredException错误,并提供了一个有效的解决方案。通过设置Hive的exec.max.dynamic.partitions参数,可以避免此错误的发生,确保数据处理任务的正常运行。
327

被折叠的 条评论
为什么被折叠?



