Jea*_*ane 5 pyspark databricks azure-databricks azure-machine-learning-service 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")
Run Code Online (Sandbox Code Playgroud)
我收到此错误: 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'
Run Code Online (Sandbox Code Playgroud)
显然,databricks 运行时发生了一些变化。所以你的代码曾经可以工作,但现在不行了。
两种选择:
from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
def get_dbutils(spark):
try:
from pyspark.dbutils import DBUtils
dbutils = DBUtils(spark)
except ModuleNotFoundError: # <-- changed from ImportError
import IPython
dbutils = IPython.get_ipython().user_ns["dbutils"]
return dbutils
dbutils = get_dbutils(spark)
dbutils.fs.cp("file:source", "dbfs:destination")
Run Code Online (Sandbox Code Playgroud)
def get_dbutils(spark):
if spark.conf.get("spark.databricks.service.client.enabled") == "true":
from pyspark.dbutils import DBUtils
return DBUtils(spark)
else:
import IPython
return IPython.get_ipython().user_ns["dbutils"]
Run Code Online (Sandbox Code Playgroud)
如果您尝试执行此操作以进行单元测试并且需要模拟它,请查看以下内容: https: //stackoverflow.com/a/76018686/496289
| 归档时间: |
|
| 查看次数: |
13108 次 |
| 最近记录: |