问题标签 [dbutils]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6093 浏览

scala - 使用 Databricks Connect 时如何在 Scala 中正确访问 dbutils

我正在使用 Databricks Connect 从 IntelliJ IDEA (Scala) 本地运行我的 Azure Databricks 群集中的代码。

一切正常。我可以在 IDE 中本地连接、调试和检查。

我创建了一个 Databricks 作业来运行我的自定义应用 JAR,但它失败并出现以下异常:

我的 Main.scala 类的第 30 行是

就像它在这个文档页面上的描述一样

该页面显示了一种访问 DBUtils 的方法,该方法在本地和集群中都有效。但是这个例子只显示了 Python,我使用的是 Scala。

在本地使用 databricks-connect 和在运行 JAR 的 Databricks 作业中访问它的正确方法是什么?

更新

似乎有两种使用 DBUtils 的方法。

1)这里描述的 DbUtils 类。引用文档,该库允许您构建和编译项目,但不能运行它。这不允许您在集群上运行本地代码。

2)此处描述的 Databricks Connect 。这允许您在 Databricks 集群中运行本地 Spark 代码。

问题是这两种方法有不同的设置和包名。似乎没有办法在本地使用 Databricks Connect(在集群中不可用),但是通过 sbt/maven 添加了使用 DbUtils 类的 jar 应用程序,以便集群可以访问它。

0 投票
2 回答
702 浏览

databricks - 如何生成有效期超过 48 小时的 databricks 特权令牌

想要运行连接到 Azure databricks 集群的本地 Jupiter notebook,并且需要使用 dbutils 来获取机密。这需要在本地保存特权令牌,并且仅持续 2 天。有没有办法生成比这更长的令牌或继续在本地使用 dbutils 更长时间?

0 投票
2 回答
194 浏览

azure - 我可以在单个命令中从 databricks 笔记本返回超过 1 个值吗?

我有一组值作为数据块笔记本的输出返回。任何人都可以建议一种有效且简单的方法吗?

0 投票
2 回答
3676 浏览

python - 检查路径是否存在于 Databricks 中

我尝试使用 Python 检查路径是否存在于 Databricks 中:

如果路径不存在,我希望该except语句执行。但是,该语句不是except语句,而是try失败并出现错误:

如何正确捕捉FileNotFoundException

0 投票
1 回答
928 浏览

databricks - DBFS:如何在 Datarbricks 中获取 DBFS 文件的上次访问时间

是否可以获得上次打开文件的时间,就像ls -ltu列出所有文件一样,使用dbutils. 我们需要在 Databricks 注释中获取有关 ADLS 文件的统计信息。

0 投票
1 回答
5429 浏览

pyspark - ModuleNotFoundError:没有名为“pyspark.dbutils”的模块

我正在从 Azure 机器学习笔记本运行 pyspark。我正在尝试使用 dbutil 模块移动文件。

我收到此错误: ModuleNotFoundError: No module named 'pyspark.dbutils' 是否有解决方法?

这是另一个 Azure 机器学习笔记本中的错误:

0 投票
0 回答
325 浏览

pyspark - ModuleNotFoundError:在数据块中的作业集群上运行 multiple.py 文件/笔记本时没有名为“pyspark.dbutils”的模块

我在 TravisCI、MlFlow 和 Databricks 环境中工作,其中 .tavis.yml 位于 git master 分支并检测.py文件中的任何更改,每当它更新时,它将运行 mlflow 命令以在 databricks 环境中运行 .py 文件。我的 MLProject 文件如下所示:

工作流程如下: TravisCI 检测到 master 分支中的变化——> 触发构建,它将运行 MLFlow 命令,它会在 databricks 中启动一个作业集群以从 repo 运行 .py 文件。

它适用于一个 .py 文件,但是当我尝试使用 dbutils 运行多个笔记本时,它正在抛出

请在 run-multiple-notebooks.py 的相关代码部分下方找到

我尝试了所有选项并尝试了

也是。它不工作:(

有人可以建议在作业集群中运行 .py 时是否可以解决上述错误。我的代码在 databricks 本地笔记本中运行良好,但使用 TravisCI 从外部运行并且 MLFlow 无法正常工作,这是管道自动化的必要条件。

0 投票
1 回答
978 浏览

databricks - dbutils.notebook.run 不选择保存在 DBFS 位置的运行笔记本

我将我的 databricks 工作区目录 (/Users/xyz/) 内容导出到一个 databricks 特定位置,例如 /dbfs/tmp,然后尝试调用以下代码来运行名为 xyz.py 的 python 笔记本导出位置如下:

dbutils 始终无法找到笔记本路径并给出以下异常:

虽然如果我检查笔记本是否存在相同的 dbfs 路径,那么我可以看到笔记本已被放置。

如何使用数据块中的特定位置运行 dbutils.notebook.run 语句?

0 投票
1 回答
1001 浏览

scala - 线程“main”中的异常 java.lang.NullPointerException com.databricks.dbutils_v1.DBUtilsHolder$$anon$1.invoke

我想在 Azure Blob 中读取 parquet 文件,因此我已将 Azure Blob 中的数据挂载到本地,dbultils.fs.mount
但出现错误Exception in thread "main" java.lang.NullPointerException
以下是我的日志:

我的代码:

我的 sbt 文件:

0 投票
1 回答
338 浏览

multithreading - 如何终止 Databricks 笔记本的并行执行?

我目前正在使用 PythonThreading来并行执行多个 Databricks 笔记本。这些是长时间运行的笔记本,如果我想用新的更改重新开始执行,我需要添加一些逻辑来杀死线程。当在不终止线程的情况下重新执行主笔记本时,集群很快就会充满计算量大、寿命长的线程,几乎没有空间用于实际需要的计算。

我没有运气就尝试过这些建议。此外,我曾尝试从中获取 runIddbutils.notebook.run()并使用 杀死线程dbutils.notebook.exit(runId),但由于调用dbutils.notebook.run()是同步的,因此在笔记本执行之前我无法获取 runId。

我将不胜感激有关如何解决此问题的任何建议!