ModuleNotFoundError: No module named 'pyspark.dbutils'

ModuleNotFoundError: No module named 'pyspark.dbutils'

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

from pyspark.sql import SparkSession
    spark = SparkSession.builder.getOrCreate()
    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)
    dbutils.fs.cp("file:source", "dbfs:destination")

我收到这个错误: ModuleNotFoundError:没有名为 'pyspark.dbutils' 的模块 有解决方法吗?

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

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-183f003402ff> in get_dbutils(spark)
      4         try:
----> 5             from pyspark.dbutils import DBUtils
      6             dbutils = DBUtils(spark)

ModuleNotFoundError: No module named 'pyspark.dbutils'

During handling of the above exception, another exception occurred:

KeyError                                  Traceback (most recent call last)
<ipython-input-1-183f003402ff> in <module>
     10         return dbutils
     11 
---> 12 dbutils = get_dbutils(spark)

<ipython-input-1-183f003402ff> in get_dbutils(spark)
      7         except ImportError:
      8             import IPython
----> 9             dbutils = IPython.get_ipython().user_ns["dbutils"]
     10         return dbutils
     11 

KeyError: 'dbutils'

这是 Databricks 实用程序-DButils 的一个已知问题。

Databricks Connect 不支持大多数 DButi。唯一有效的部分是 fssecrets

参考: Databricks Connect - Limitations and Known issues.

注意: 目前 fs 和 secrets 工作(本地)。小部件 (!!!)、库等不起作用。这不应该是一个主要问题。如果您使用 Python 任务在 Databricks 上执行,dbutils 将失败并显示错误:

ImportError: No module named 'pyspark.dbutils'

我可以 运行 作为笔记本成功执行查询。