本文介绍了NameError: 名称“dbutils"未在 pyspark 中定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在 databricks 云中运行 pyspark 作业.作为这项工作的一部分,我需要将一些 csv 文件写入数据块文件系统 (dbfs),并且我还需要使用一些 dbutils 本机命令,例如
I am running a pyspark job in databricks cloud. I need to write some of the csv files to databricks filesystem (dbfs) as part of this job and also i need to use some of the dbutils native commands like,
#mount azure blob to dbfs location
dbutils.fs.mount (source="...",mount_point="/mnt/...",extra_configs="{key:value}")
一旦文件被写入挂载目录,我也试图卸载.但是,当我直接在 pyspark 作业中使用 dbutils 时,它失败了
I am also trying to unmount once the files has been written to the mount directory. But, when i am using dbutils directly in the pyspark job it is failing with
NameError: name 'dbutils' is not defined
我应该导入任何包以在 pyspark 代码中使用 dbutils 吗?提前致谢.
Should i import any of the package to use dbutils in pyspark code ? Thanks in advance.
推荐答案
试试这个:
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)
这篇关于NameError: 名称“dbutils"未在 pyspark 中定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!