我将以下代码打包在一个 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 文件正确包含 sampleFolder/data/ 目录下的 parquet 文件。当我在本地运行它时它可以工作,但是当我将此 whl 文件上传到 dbfs 并运行时,我收到此错误:
AnalysisException: Path does not exist: dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data;
我确认这个目录实际上不存在:dbfs:/databricks/python 知道这个错误可能是什么吗?
谢谢。
默认情况下,Databricks上的Spark与DBFS上的文件一起使用。
但是,如果您想使用spark..parquet函数读取文件,则可以使用前缀文件:,然后是文件的完整路径,例如 - spark.read.parquet('文件:/home/user1/file_name')