我在databricks云中运行pyspark工作。我需要将一些csv文件写入databricks文件系统(dbfs)作为此作业的一部分,我还需要使用一些dbutils本机命令,如
#mount azure blob to dbfs location
dbutils.fs.mount (source="...",mount_point="/mnt/...",extra_configs="{key:value}")
我也试图在文件写入mount目录后卸载。但是,当我在pyspark工作中直接使用dbutils时,它失败了
NameError: name 'dbutils' is not defined
我应该导入任何包以在pyspark代码中使用dbutils吗?提前谢谢。
答案 0 :(得分:7)
尝试使用此功能:
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)
答案 1 :(得分:0)
是的! 您可以使用:
pip install DBUtils
import DBUtils
答案 2 :(得分:-1)
要以在本地和DBUtils
上都可以在Python上运行的方式访问Azure Databricks clusters
模块,请使用以下get_dbutils()
:
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
请参阅:https://docs.microsoft.com/en-us/azure/databricks/dev-tools/databricks-connect