Databricks文件存储= 0

我只是跑了这个:

dbutils.fs.ls("dbfs:/FileStore/")

我看到这个结果:

[FileInfo(path='dbfs:/FileStore/import-stage/', name='import-stage/', size=0),
 FileInfo(path='dbfs:/FileStore/jars/', name='jars/', size=0),
 FileInfo(path='dbfs:/FileStore/job-jars/', name='job-jars/', size=0),
 FileInfo(path='dbfs:/FileStore/plots/', name='plots/', size=0),
 FileInfo(path='dbfs:/FileStore/tables/', name='tables/', size=0)]

文件存储中不应该有东西吗?我在湖中有数百GB的数据。我在让Databricks查找这些文件时遇到各种问题。当我使用Azure数据工厂时,一切工作都很好。它开始让我发疯!

例如,当我运行此命令时:

dbutils.fs.ls("/mnt/rawdata/2019/06/28/parent/")

我收到此消息:

java.io.FileNotFoundException: File/6199764716474501/mnt/rawdata/2019/06/28/parent does not exist.

我的湖里有成千上万的文件!我不明白为什么我无法列出这些文件!

CHEEKATLAPRADEEP-MSFT

在Azure Databricks中,这是预期的行为。

  • 对于文件,它显示实际文件大小。
  • 对于目录,它显示大小= 0

示例:在dbfs:/ FileStore /中,我有三个以白色显示的文件和三个以蓝色显示的文件夹。使用databricks cli检查文件大小。

dbfs ls -l dbfs:/FileStore/

在此处输入图片说明

当您使用dbutils签出结果时,如下所示:

dbutils.fs.ls("dbfs:/FileStore/")

在此处输入图片说明

读取大于2GB的文件时要记住的重要事项:

  • 仅支持小于2GB的文件。如果使用本地文件I / O API读取或写入大于2GB的文件,则可能会看到损坏的文件。而是使用DBFS CLI,dbutils.fs或Spark API访问大于2GB的文件,或使用本地文件API中所述的/ dbfs / ml文件夹进行深度学习。
  • 如果您使用本地文件I / O API编写文件,然后立即尝试使用DBFS CLI,dbutils.fs或Spark API访问文件,则可能会遇到FileNotFoundException,大小为0的文件或陈旧的文件内容这是预料之中的,因为操作系统默认情况下缓存写操作。要强制将这些写入刷新到持久性存储(在我们的示例中为DBFS),请使用标准Unix系统调用sync。

有多种方法可以解决此问题。您可以签出我回答的类似SO线程。

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

bluemix对象存储文件已成功上传,但是使用Java在对象存储上上传了0kb文件

我可以获取存储在Azure Databricks上的文件元数据或文件统计信息吗

存储函数返回 0 mysql

以 Null 结尾的字符串的“NULL”或“\0”符号是否存储在文件中?

Azure:下载上传到Azure Blob存储的文件时大小为0,编码错误

Firebase 存储:索引 0 处的 `put` 中的参数无效:预期的 Blob 或文件

是否可以查看存储文件由1和0组成的顺序?

将位图保存到Android API 28中的外部存储中,结果为0 B文件

如何在Azure Databricks中循环浏览Azure Datalake存储文件

将Databricks中的R Notebook中的csv文件写入Azure blob存储吗?

如何在Databricks中使用Shutil压缩文件(在Azure Blob存储上)

Databricks中的SAS文件

提取包含0 | 0,0 | 1,1 | 0和1 | 1的文件

mysqldump使0bytes文件

.BAT文件中的%0错误

在 azure 上传的文件是 0 咬

fprintf在txt文件中写入0D 0D 0A而不是0D 0A

从 0x0 到 0x08048000 存储了什么?

MySQL存储过程返回0行

MYSQL存储过程的更新变量为0

缺少iCloud日志“使用本地存储:0”

如何在char数组中存储'\ 0'

存储过程返回0而不是值

在无符号char数组中存储0

存储过程返回NULL而不是0

如何将文件保存到外部存储,当前它创建文档但它的大小为 0B

git显示文件更改为0插入(+),0删除(-)

awk'/ matched /,0'文件中的0是什么意思?

Windows .bat文件0 <不确定0的来源