pyspark-sql - NameError:名称 'dbutils' 未在 pyspark 中定义
问题描述
我在 databricks 云中运行 pyspark 作业。作为这项工作的一部分,我需要将一些 csv 文件写入 databricks 文件系统 (dbfs),并且我还需要使用一些 dbutils 本机命令,例如,
#mount azure blob to dbfs location
dbutils.fs.mount (source="...",mount_point="/mnt/...",extra_configs="{key:value}")
一旦文件被写入挂载目录,我也试图卸载。但是,当我直接在 pyspark 作业中使用 dbutils 时,它失败了
NameError: name 'dbutils' is not defined
我应该导入任何包以在 pyspark 代码中使用 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
dbutils = get_dbutils(spark)
推荐阅读
- hyperledger-fabric - 当管理员证书即将过期时,如何为 Hyperledger Fabric 订购者/对等方续订管理员证书
- python - 如何在python中将分钟增加到当前时间
- javascript - 如何在不单击按钮的情况下在 React useEffect 中调用 Auth0 loginWithRedirect 函数?
- web-scraping - parsehub youtube 变灰了
- java - 使用 yum 或 wget 在 Linux(Azure) 上安装 OpenJDK 11
- python-3.x - 如何从 statsmodels AutoRegResults 中获取残差?model.resid 返回所有 NaN
- amazon-web-services - 无法从 terraform 数据源解析 cidr_block
- java - Python 与 Java 中的参数传递
- php - preg_replace_callback 只带 5 个参数?
- javascript - 将 .jpg 的 react axios 响应保存到状态,然后从状态显示该图像