在星火库集群中,如果任务非常小,我假设集群效率很低,因为大部分时间将用于节点之间的通信,而不是利用节点上的处理器。
是否有一种方法可以监视与火花提交一起提交的作业在通信中浪费了多少时间,以及在实际计算中浪费了多少时间?
然后,我可以监视这个比率,以检查我的文件聚合方案或处理算法在分发效率方面的效率。
我翻阅了星火的文档,却找不到任何相关的东西,尽管我确信我遗漏了一些东西。有什么想法吗?
发布于 2016-06-07 12:55:09
您可以在Spark中看到此信息,asuming您正在运行Spark1.4.1或更高版本(对不起,我不知道如何对早期版本的Spark执行此操作)。
下面是一个示例图像:
这是图像来自的页。
简要总结:您可以查看星火UI中星火作业中发生的所有事件的时间线。在那里,您可以放大每个单独的作业和每个单独的任务。每个任务被划分为舍步器延迟、序列化/反序列化、计算、洗牌等。
现在,这显然是一个非常漂亮的UI,但您可能需要更健壮的东西,以便您可以以编程方式检查此信息。这里显示您可以使用REST在JSON中导出日志信息。
https://stackoverflow.com/questions/37662276
相似问题