AnalysisException: Path does not exist: dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data;(分析异常:路径不存在:dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data;)
本文介绍了分析异常:路径不存在:dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data;的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我将以下代码打包到一个WHL文件中:
from pkg_resources import resource_filename
def path_to_model(anomaly_dir_name: str, data_path: str):
filepath = resource_filename(anomaly_dir_name, data_path)
return filepath
def read_data(spark) -> DataFrame:
return (spark.read.parquet(str(path_to_model("sampleFolder", "data"))))
我确认WHL文件正确地包含了sampleFold/data/目录下的拼图文件。当我在本地运行此程序时,它可以工作,但当我将此WHL文件上载到dBFS并运行时,我收到以下错误:
AnalysisException: Path does not exist: dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data;
我确认此目录实际上并不存在:dBFS:/Databricks/python
知道这个错误可能是什么吗?
谢谢。
推荐答案
默认情况下,数据库上的Spark处理dBFS上的文件,直到您显式更改架构。在您的例子中,path_to_model
函数返回字符串/databricks/python/lib/python3.7/site-packages/sampleFolder/data
,因为它没有显式模式,所以Spark使用dbfs
模式。但该文件在本地节点上,而不是在dBFS上-这就是Spark找不到它的原因。
dbutils.fs.cp
命令来完成。将代码更改为:
def read_data(spark) -> DataFrame:
data_path = str(path_to_model("sampleFolder", "data"))
tmp_path = "/tmp/my_sample_data"
dbutils.fs.cp("file:" + data_path, tmp_path, True)
return (spark.read.parquet(tmp_path))
这篇关于分析异常:路径不存在:dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:分析异常:路径不存在:dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data;
猜你喜欢
- 计算测试数量的Python单元测试 2022-01-01
- 检查具有纬度和经度的地理点是否在 shapefile 中 2022-01-01
- 我如何卸载 PyTorch? 2022-01-01
- 使用 Cython 将 Python 链接到共享库 2022-01-01
- YouTube API v3 返回截断的观看记录 2022-01-01
- 我如何透明地重定向一个Python导入? 2022-01-01
- CTR 中的 AES 如何用于 Python 和 PyCrypto? 2022-01-01
- 如何使用PYSPARK从Spark获得批次行 2022-01-01
- 使用公司代理使Python3.x Slack(松弛客户端) 2022-01-01
- ";find_element_by_name(';name';)";和&QOOT;FIND_ELEMENT(BY NAME,';NAME';)";之间有什么区别? 2022-01-01