gpt4 book ai didi

apache-spark - 无法在 databricks 社区版集群中 cat dbfs 文件。 FileNotFoundError : [Errno 2] No such file or directory:

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

试图读取 中的增量日志文件databricks 社区版 簇。 (databricks-7.2 版本)

df=spark.range(100).toDF("id")
df.show()
df.repartition(1).write.mode("append").format("delta").save("/user/delta_test")
with open('/user/delta_test/_delta_log/00000000000000000000.json','r')  as f:
for l in f:
print(l)
Getting file not found error:
FileNotFoundError: [Errno 2] No such file or directory: '/user/delta_test/_delta_log/00000000000000000000.json'
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
<command-1759925981994211> in <module>
----> 1 with open('/user/delta_test/_delta_log/00000000000000000000.json','r') as f:
2 for l in f:
3 print(l)

FileNotFoundError: [Errno 2] No such file or directory: '/user/delta_test/_delta_log/00000000000000000000.json'
我尝试添加 /dbfs/ , dbfs:/什么都没有解决,仍然得到同样的错误。
with open('/dbfs/user/delta_test/_delta_log/00000000000000000000.json','r')  as f:
for l in f:
print(l)
但是使用 dbutils.fs.head 我能够读取文件。
dbutils.fs.head("/user/delta_test/_delta_log/00000000000000000000.json")

'{"commitInfo":{"timestamp":1598224183331,"userId":"284520831744638","userName":"","operation":"WRITE","operationParameters":{"mode":"Append","partitionBy":"[]"},"notebook":{"","isolationLevel":"WriteSerializable","isBlindAppend":true,"operationMetrics":{"numFiles":"1","numOutputBytes":"1171","numOutputRows":"100"}}}\n{"protocol":{"minReaderVersi...etc
我们如何读取/cat dbfs file 在带有 python open method 的数据块中?

最佳答案

默认情况下,这些数据在 DBFS 上,您的代码需要了解如何访问它。 Python 不知道——这就是它失败的原因。
但是有一个解决方法 - DBFS 安装到节点 /dbfs ,因此您只需要将其附加到您的文件名: 而不是 /user/delta_test/_delta_log/00000000000000000000.json , 使用 /dbfs/user/delta_test/_delta_log/00000000000000000000.json更新:在社区版上,在 DBR 7+ 中,此安装被禁用。解决方法是使用 dbutils.fs.cp命令将文件从 DBFS 复制到本地目录,例如,/tmp , 或 /var/tmp ,然后从中读取:

dbutils.fs.cp("/file_on_dbfs", "file:///tmp/local_file")
请注意,如果您不指定 URI 模式,则默认情况下该文件引用 DBFS,要引用本地文件,您需要使用 file://前缀(见 docs)。

关于apache-spark - 无法在 databricks 社区版集群中 cat dbfs 文件。 FileNotFoundError : [Errno 2] No such file or directory:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63552922/

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