通过可观察性优化 Spark 中的性能

Apache Spark 为大数据行业的企业提供了许多好处。然而,与任何技术解决方案一样,它也伴随着挑战和障碍。通过优先考虑强调可观察性的工具,您可以优化 Spark 作业的性能,并开始深入了解性能问题的原因,而不仅仅是问题的本质。

Apache Spark 架构为大数据行业提供非常有用的工具有几个原因:

无论 Spark 多么强大,它仍然面临着一系列挑战。因此:根据我们的 2020 年大数据性能报告,观察到 Spark 作业的失败频率是其他作业的四到七倍。

此外,该报告进一步揭示了在没有 Spark 性能调整和优化的情况下:

这就是为什么公司需要优化 Spark 的性能。如果不应用 Spark 优化技术,集群将继续过度配置和利用资源。据一位分析师称,在全球范围内,仅闲置资源一项就产生了约 88 亿美元的年增长率。

在优化 Spark 工作负载和作业时,关键是可观察性。

以内存利用率为例。也许用户需要分配更多内存以避免垃圾回收。或者,在多租户环境中,用户可能分配了过多的内存,导致租户之间出现排队等问题。如果没有正确的优化解决方案,Spark 用户对如何为他们的集群正确分配内存一无所知。

Spark 性能调优的另一个机会是减少(如果不能避免的话)数据倾斜。 Spark 对数据倾斜很敏感,对于高度分布式和瘫痪的应用程序来说,它可能是非常具有破坏性的。数据倾斜导致某些应用程序元素的工作时间超过它们应有的时间,而其他计算资源则闲置,未得到充分利用。有助于优化 Spark 性能的工具应该跟踪数据倾斜并提出有效的建议来纠正它。

那么如何优化 Spark 的性能并衡量成功呢?再次,通过可观察性。

Spark 用户最终需要说,“嘿,我的应用程序现在运行无故障,而且我始终如一地满足我的 SLA。”为此,他们需要合适的可观察性工具来帮助他们确定内存利用率、数据倾斜以及大多数公司工作的多租户环境中可能出现的其他问题。

关注公众号“大模型全栈程序员”回复“小程序”获取1000个小程序打包源码。更多免费资源在http://www.gitweixin.com/?p=2627