火花调整问题

时间:2018-09-20 07:24:51

标签: apache-spark apache-spark-sql spark-streaming

spark performance tuning

强文本 为什么此阶段一直以1个线程结束运行?因此,这需要花费大量时间才能完成,我想这里并没有实现并行过程。

那么任何人都可以解释吗?

2 个答案:

答案 0 :(得分:0)

由于您没有提供有关您到底想做什么的更具体的信息,因此只能给出广泛的答案。

如果您有一个(或只有几个)任务挂在较大的任务池中,则最常见的原因是skewed data

另一种选择是数据触发的任务可能需要更长的时间来计算数据(CPU过多)

或者您的任务挂在IO上,这可能表明网络/ IO通道饱和。

答案 1 :(得分:0)

这个问题很笼统。 Spark文档说,即使对于最小的程序(例如WordCount),直接或间接地找到瓶颈也不是一件容易的事。瓶颈可能在IO,内存到CPU,垃圾收集正在进行的CPU,网络以及引发火花的其他内部因素(例如调度程序延迟,缓冲区内存溢出等)中。

因此,您可能需要深入了解以下内容:

a。您是否有许多可用的内核来共享阶段的负载? b。配置多少执行程序才能完成此作业 C。是您正在执行的工作的200GB数据读/写合理性。 d。作业触发前在服务器上释放RAM。 e。转到YARN资源管理器以查看内存和CPU核心周围的资源(如果您使用的是YARN)。