【问题标题】:How to get the runID or processid in Azure DataBricks?如何在 Azure DataBricks 中获取 runID 或 processid?
【发布时间】:2020-01-25 07:12:33
【问题描述】:

我一直试图在 DataBricks 中获取 RUNID 或进程 ID。 我所说的 RUNID 或进程 ID 的意思是,每次笔记本运行时生成一个唯一的 ID。 好吧,我尝试了一些方法,但他们给出的是 session-id 而不是 Run ID。 以下是那些:

dbutils.notebook.entry_point.getDbutils().notebook().getContext().tags().apply('sessionId')

我试图调用 bash env

%sh
ps -fe

以下代码返回 null:

%scala
dbutils.notebook.getContext.rootRunId

所以请你帮我解决这个问题。

谢谢,

【问题讨论】:

  • 你试过dbutils.notebook.getContext.currentRunId吗?
  • @blackbishop 是的,先生,它返回一个包含 null 的 Java 对象
  • @blackbishop 我在笔记本中打开了一个新单元格并执行了共享命令,它返回了"res0: Option[com.databricks.backend.common.storage.elasticspark.RunId] = None"

标签: python azure pyspark pid azure-databricks


【解决方案1】:

注意:只有 Databricks 执行程序启动的作业使用阶段中指定的作业 ID 显示。作业的所有实例的作业 ID 都是相同的。

您可以在 Data Collector 日志中找到特定实例的运行 ID。

Databricks 执行器还将作业的运行 ID 写入事件记录。要记录所有运行 ID,请为阶段启用事件生成。

有不同的方法可以获取任何给定作业的 RunId:

Azure Databricks 门户(用户界面):通过单击“作业”选项卡,您可以查看已创建的所有作业。

选择任何 Job 以获取每次运行的详细 RunId。

Azure 门户(用户界面)使用 Kusto 查询语言:如果您已配置诊断日志传递,则可以使用 KQL 查询来获取 JobID 和 RunID:

Databricks REST API:您可以使用以下 REST API 命令获取作业和运行列表。

curl "https://centralus.azuredatabricks.net/api/2.0/jobs/runs/list" -X GET -H "Authorization: Bearer dapia08sjflksjs9jfra6a34a"

希望这会有所帮助。

【讨论】:

  • 所以可以通过 UI 获取 JobID,但不能从代码中获取?真可惜。
  • 您可以从 UI 获取 JobIB。结帐 Azure Databricks 门户(用户界面)部分。
猜你喜欢
  • 2020-11-11
  • 2014-06-19
  • 1970-01-01
  • 2011-03-01
  • 2013-09-29
  • 1970-01-01
  • 2010-11-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多