簡體   English   中英

如何在 Azure Databricks 筆記本中調試長時間運行的 python 命令?

[英]how to debug long running python commands in Azure Databricks notebook?

我正在關注本教程: 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')運行命令( 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

問題:我如何調試它以找出導致緩慢的原因?

在此處輸入圖片說明

在筆記本環境中調試分布式應用程序仍然具有挑戰性。 盡管 Web UI 具有必要的信息,但 Web UI 和開發環境之間還是存在差距:通常很難在 Web UI 中找到與您正在調查的代碼相關的信息; 並且沒有簡單的方法可以找到歷史運行時信息。

在此處輸入圖片說明

了解如何使用 Databricks Spark UI 進行調試:

Spark UI 包含大量可用於調試 Spark 作業的信息。 有很多很棒的可視化,我們在這里有一篇關於這些功能的博客文章。

在此處輸入圖片說明

更多詳情,請點擊 Jobx 查看(階段):

在此處輸入圖片說明

參考: 使用 Databricks 調試 Apache Spark UI 的技巧

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM