【发布时间】:2020-04-12 11:11:24
【问题描述】:
我是 Databricks 的新手,需要帮助将 pandas 数据帧写入 databricks 本地文件系统。
我确实在 google 中搜索过,但找不到与此类似的任何案例,还尝试了 databricks 提供的帮助指南(附件),但也没有用。尝试进行以下更改以找到我的运气,命令运行正常,但文件未写入目录(预期的 wrtdftodbfs.txt 文件已创建)
df.to_csv("/dbfs/FileStore/NJ/wrtdftodbfs.txt")
结果:抛出以下错误
FileNotFoundError: [Errno 2] 没有这样的文件或目录: '/dbfs/FileStore/NJ/wrtdftodbfs.txt'
df.to_csv("\\dbfs\\FileStore\\NJ\\wrtdftodbfs.txt")
结果:没有错误,但也没有写入任何内容
df.to_csv("dbfs\\FileStore\\NJ\\wrtdftodbfs.txt")
结果:没有错误,但也没有写入任何内容
df.to_csv(path ="\\dbfs\\FileStore\\NJ\\",file="wrtdftodbfs.txt")
结果:TypeError: to_csv() 得到了一个意外的关键字参数“路径”
df.to_csv("dbfs:\\FileStore\\NJ\\wrtdftodbfs.txt")
结果:没有错误,但也没有写入任何内容
df.to_csv("dbfs:\\dbfs\\FileStore\\NJ\\wrtdftodbfs.txt")
结果:没有错误,但也没有写入任何内容
目录存在并且手动创建的文件会显示出来,但 pandas to_csv 不会写入也不会出错。
dbutils.fs.put("/dbfs/FileStore/NJ/tst.txt","Testing file creation and existence")
dbutils.fs.ls("dbfs/FileStore/NJ")
输出[186]: [FileInfo(path='dbfs:/dbfs/FileStore/NJ/tst.txt', name='tst.txt', size=35)]
感谢您的时间,如果随附的细节不够清楚,请原谅我。
【问题讨论】:
-
尝试将其转换为 spark 数据框,然后将其另存为 csv pandas 很可能无法访问文件存储
-
你试过了吗:
with open("/dbfs/FileStore/NJ/wrtdftodbfs.txt", "w") as f: df.to_csv(f)? -
感谢门德的回复。我确实尝试过,但没有运气,它运行良好,但文件没有进入目录。
-
非常感谢韦恩。共享的第二个链接有效。我已将熊猫数据框转换为火花。不确定 Databricks 文件存储是否只能通过 spark 命令将数据写入其文件系统。
标签: python pandas dataframe amazon-s3 databricks