首页 > 解决方案 > 如何在pyspark中加载databricks包dbutils

问题描述

我试图在 pyspark 中运行以下代码。

dbutils.widgets.text('config', '', 'config')

它给我一个错误说

 Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 NameError: name 'dbutils' is not defined

那么,有什么方法可以通过包含 databricks 包在 pyspark 中运行它,比如导入?

感谢您的帮助

标签: pysparkdatabricks

解决方案


https://docs.azuredatabricks.net/user-guide/dev-tools/db-connect.html#access-dbutils中所述

根据您在 databricks 服务器上直接执行代码的位置(例如,使用 databricks notebook 调用您的项目 egg 文件)或使用 databricks-connect 从您的 IDE 执行代码,您应该如下初始化 dbutils。(火花是你的 SparkSession)

def get_dbutils(spark):
    try:
        from pyspark.dbutils import DBUtils
        dbutils = DBUtils(spark)
    except ImportError:
        import IPython
        dbutils = IPython.get_ipython().user_ns["dbutils"]
    return dbutils

dbutils = get_dbutils(spark)

推荐阅读