我正在关注本教程: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
问题:我该如何调试以找出导致速度慢的原因?
答案 0 :(得分:1)
在笔记本环境中调试分布式应用程序仍然很困难。即使网络用户界面具有必要的信息,但网络用户界面与开发环境之间仍然存在差距:通常很难在网络用户界面中找到与您要研究的代码相关的信息;而且没有找到历史运行时信息的简便方法。
了解如何使用Databricks Spark UI进行调试:
Spark UI包含大量信息,可用于调试Spark作业。有很多很棒的可视化效果,我们在这里有关于这些功能的博客文章。
有关更多详细信息,请单击Jobx视图(阶段):
参考: Tips to Debug Apache Spark UI with Databricks
希望这会有所帮助。