Read/Write DataBricks 中的单个文件

Read/Write single file in DataBricks

我有一个文件,其中包含存储在简单文本文件中的姓名列表。每行包含一个名称。现在我需要根据用户输入以编程方式为该文件附加一个新名称。 对于输入本身,我使用 DataBricks 小部件 - 这工作得很好,我将新名称存储在一个字符串对象中。 现在我需要将此名称附加到我的文件中。

文件安装在 /mnt/blob/myNames.txt

下的 DataBricks 文件系统 (DBFS) 中

当尝试像这样读取文件时:

f = open("/mnt/blob/myNames.txt", "r") 
print f

它returns一个错误"No such file or directory"

所以我尝试将我的新名称包装到数据框中并将其附加到现有文件,但这也没有用,因为 dataframe.write.save 旨在写入文件夹

什么是最简单的 python 我可以用来将这个新名称附加到我的文件中?

您可以使用 dbutils 从 DBFS 写入和读取文件。在数据块中使用 dbutils.fs.help() 命令访问 DBFS 的帮助菜单。

因此,您可以使用以下命令将您的姓名附加到您的文件中:

dbutils.fs.put("/mnt/blob/myNames.txt", new_name)

您收到 "No such file or directory" 错误,因为未找到 DBFS 路径。使用 dbfs:/ 访问 DBFS 路径。这是你应该如何阅读文件:

f = open("/dbfs/mnt/blob/myNames.txt", "r")

您可以使用 'a'

以追加模式打开文件
with  open("/dbfs/mnt/sample.txt", "a") as f:
  f.write("append values")

现在您可以使用

查看内容
with  open("/dbfs/mnt/sample.txt", "r") as f_read:
for line in f_read:
 print(line)

解决方案:Here