pyspark 读取/写入DataBricks中的单个文件

k97glaaz  于 2022-12-22  发布在  Spark
关注(0)|答案(2)|浏览(218)

我有一个文件,其中包含一个名称列表存储在一个简单的文本文件中。每行包含一个名称。现在我需要编程附加一个新的名称到这个文件的基础上,用户输入。对于输入本身,我使用DataBricks小部件-这是工作得很好,我有新的名称存储在一个字符串对象。现在我需要附加这个名称到我的文件。
该文件安装在DataBricks文件系统(DBFS)的/mnt/blob/mynames. txt下
尝试读取文件时,如下所示:

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

它返回错误“没有这样的文件或目录”
因此,我尝试将我的新名称 Package 到一个 Dataframe 中,并将其附加到现有文件中,但这也不起作用,因为dataframe.write.save的设计是写入文件夹
什么是最简单的python可以,我可以使用附加这个新的名称到我的文件?

kokeuurv

kokeuurv1#

可以使用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")
4uqofj5v

4uqofj5v2#

您可以使用'a'在追加模式下打开文件

with  open("/dbfs/mnt/sample.txt", "a") as f:
  f.write("append values")

现在您可以使用读取模式“r”查看内容

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

解决方案:Here

相关问题