【问题标题】:how to debug long running python commands in Azure Databricks notebook?如何在 Azure Databricks 笔记本中调试长时间运行的 python 命令?
【发布时间】:2019-12-12 01:17:03
【问题描述】:

我正在关注本教程:https://docs.microsoft.com/en-us/academic-services/graph/tutorial-azure-databricks-hindex

我已获得对 Microsoft Academic Graph 数据集的访问权限,并希望根据教程发布一些基本的 pySpark 代码。

例如这段代码:

# Get affiliations
Affiliations = MAG.getDataframe('Affiliations')
Affiliations = Affiliations.select(Affiliations.AffiliationId, Affiliations.DisplayName)
Affiliations.show(3)

当我使用“Shift + Enter”运行代码时,它会进入“正在运行命令”状态 - 并且似乎永远不会完成,即使在半小时后也是如此。我已插入此截图并附加到我的帖子中。

我已经单独运行了这些命令,它是导致缓慢的最后一个 (Affiliations.show(3))。

例如,当我自己运行命令(Affiliations = MAG.getDataframe('Affiliations'))时,我实际上得到了一个结果:

AffiliationId:long
Rank:integer
NormalizedName:string
DisplayName:string
GridId:string
OfficialPage:string
WikiPage:string
PaperCount:long
CitationCount:long
Latitude:float
Longitude:float
CreatedDate:date

问题:如何调试它以找出导致缓慢的原因?

【问题讨论】:

    标签: python azure pyspark azure-databricks pyspark-dataframes


    【解决方案1】:

    在笔记本环境中调试分布式应用程序仍然具有挑战性。尽管 Web UI 有必要的信息,但 Web UI 和开发环境之间还是存在差距:通常很难在 Web UI 中找到与您正在调查的代码相关的信息;并且没有简单的方法来查找历史运行时信息。

    了解如何使用 Databricks Spark UI 进行调试:

    Spark UI 包含大量可用于调试 Spark 作业的信息。有很多很棒的可视化效果,我们在这里有一篇关于这些功能的博文。

    更多详情,请点击 Jobx View (Stages):

    参考:Tips to Debug Apache Spark UI with Databricks

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-23
      • 1970-01-01
      • 2020-12-23
      • 2022-11-26
      • 2020-12-21
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多