本文介绍了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 中定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

1403页,肝出来的..

09-07 21:38