在 Apache Hive 中使用 UNION ALL 时遇到 “Dag submit failed due to 1-1 Edge. Destination vertex parallelism must match source vertex” 这样的错误通常与底层执行引擎(如 Tez 或 MapReduce)的并行度配置有关。这个错误表明在作业的某个阶段,源顶点和目标顶点的并行度(即并行任务的数量)不匹配。
解决步骤
-
检查 Hive 配置:
- 确保 Hive 配置(如
hive-site.xml)中的相关参数设置正确。特别是与 Tez 或 MapReduce 相关的配置,如并行度(mapreduce.job.reduces或 Tez 相关的配置)。
- 确保 Hive 配置(如
-
调整并行度:
- 如果你在使用 MapReduce,可以尝试调整
mapreduce.job.reduces的值。这个值决定了 reducer 的数量,可能会影响作业的并行度。 - 如果你在使用 Tez,检查 Tez 的配置,特别是与并行度相关的配置,如
tez.am.resource.memory.mb、tez.am.resource.cpu.vcores、tez.session.am.dag.submit.timeout.secs等。
- 如果你在使用 MapReduce,可以尝试调整
-
优化查询:
- 检查你的
UNION ALL查询是否可以被优化。例如,如果可能的话,尝试减少参与UNION ALL的表或查询的数量,或者检查是否有表可以被更有效地过滤或索引。 - 确保每个
- 检查你的

最低0.47元/天 解锁文章
1386

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



