如何测量 Spark 上查询的执行时间

新手上路,请多包涵

我需要测量 Apache spark (Bluemix) 上查询的执行时间。我尝试了什么:

 import time

startTimeQuery = time.clock()
df = sqlContext.sql(query)
df.show()
endTimeQuery = time.clock()
runTimeQuery = endTimeQuery - startTimeQuery

这是一个好方法吗?相对于我看到表格时,我得到的时间看起来太小了。

原文由 YAKOVM 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 827
2 个回答

更新: 不,使用 time 包不是测量 Spark 作业执行时间的最佳方法。我所知道的最方便、最准确的方法是使用 Spark History Server。

在 Bluemix 上,在您的笔记本中转到右侧的“Paelette”。选择“环境”面板,您将看到 Spark History Server 的链接,您可以在其中调查已执行的 Spark 作业,包括计算时间。

原文由 Sven Hafeneger 发布,翻译遵循 CC BY-SA 4.0 许可协议

您还可以尝试使用 sparkMeasure 来简化性能指标的收集

原文由 Guy 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进