gpt4 book ai didi

python - to_csv "No Such File or Directory"但该目录确实存在 - ADLS 上的 Databricks

转载 作者:行者123 更新时间:2023-12-03 05:16:25 25 4
gpt4 key购买 nike

我已经看到这个问题的多次迭代,但似乎无法理解/修复这种行为。

我在 Azure Databricks 上处理 DBR 10.4 LTS Spark 3.2.1 Scala 2.12,尝试将单个 csv 文件写入 blob 存储,以便可以将其删除到 SFTP 服务器。无法使用 Spark-sftp,因为不幸的是我使用的是 Scala 2.12,无法让该库工作。

鉴于这是一个小数据框,我将其转换为 pandas,然后尝试 to_csv。

to_export = df.toPandas()

to_export.to_csv(pathToFile, index = False)

我收到错误:[Errno 2] No such file or directory: '/dbfs/mnt/adls/Sandbox/user/project_name/testfile.csv

根据其他线程中的信息,我创建了目录 dbutils.fs.mkdirs("/dbfs/mnt/adls/Sandbox/user/project_name/") /n Out[40]: True

响应是 true 并且目录存在,但我仍然收到相同的错误。我确信这是显而易见的事情,但我已经盯着它看了太久而没有注意到。有人看到我的错误可能是什么吗?

最佳答案

  • Python 的 pandas 库仅在采用文件 API 格式时才识别路径(因为您使用的是 mount)。 dbutils.fs.mkdirs 使用与 File API 格式不同的 Spark API 格式

  • 当您使用 dbutils.fs.mkdirs 创建目录,路径为 /dbfs/mnt/adls/Sandbox/user/project_name/ 时,该路径实际上会被视为 dbfs:/dbfs/mnt/adls/Sandbox/user/project_name/。因此,该目录将在 DBFS 中创建。

dbutils.fs.mkdirs('/dbfs/mnt/repro/Sandbox/user/project_name/')

enter image description here

  • 因此,您必须通过将创建目录的代码修改为以下代码来创建目录:
dbutils.fs.mkdirs('/mnt/repro/Sandbox/user/project_name/')
#OR
#dbutils.fs.mkdirs('dbfs:/mnt/repro/Sandbox/user/project_name/')
  • 现在可以毫无问题地写入该文件夹。
pdf.to_csv('/dbfs/mnt/repro/Sandbox/user/project_name/testfile.csv', index=False)

enter image description here

关于python - to_csv "No Such File or Directory"但该目录确实存在 - ADLS 上的 Databricks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74803204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com