【发布时间】:2019-12-07 07:07:49
【问题描述】:
火花 2.2
我有一个从 HDFS 读取压缩数据、应用 ETL 逻辑并将输出写回 HDFS 的 spark 作业。但是,当我在 spark UI 中看到任务级别数据时,某些任务的输入记录/大小标记为 0.0B/6(即 0.0B/N,其中 N
我了解数据倾斜会使 1 个分区比其他分区大得多,从而导致任务滞后。但是,我看到了相反的行为 - 输入为 100MB/500MB 的任务正在完成,而输入为 0.0B 的任务被挂起。
你见过这样的行为吗?我应该如何调试和解决问题?任何帮助表示赞赏。谢谢!
例如 Spark UI 数据:
Task ID ▴ Address Status Input Size / Records Task Duration
1 machine:xxxx Completed 37.0 MB / 63106 2Min 5Sec
2 machine:xxxx Running 0.0 B / 64068 20Hrs 50Sec
3 machine:xxxx Running 0.0 B / 65045 20Hrs 50Sec
4 machine:xxxx Completed 38.1 MB / 64255 3Mins 7Sec
5 machine:xxxx Completed 52.3 MB / 82091 9Mins 3Sec
6 machine:xxxx Completed 49.1 MB / 79232 10Mins 6Sec
7 machine:xxxx Running 0.0 B / 48337 20Hrs 50Sec
8 machine:xxxx Running 0.0 B / 59438 20Hrs 50Sec
【问题讨论】:
标签: apache-spark apache-spark-sql bigdata