Spark:如何递归读取目录中具有不同扩展名的所有文件?

阳台

我在 HDFS 中有一个这样的目录结构:

folder
├── sub1
│   ├── a
│   │   └── f1.txt
│   └── b
│       └── f2.parquet
└── sub2
    ├── a
    │   └── f3.jpg
    └── b
        └── f4.unknown

有没有办法在使用 spark.txt 阅读时跳过一些文件(带有一些未知扩展名)。我可以读取目录中存在的所有文件吗?

不列颠哥伦比亚省莫哈纳

Spark 提供了不同的读取 API 来处理不同的文件格式。

例子:

如果你想阅读 txt/csv 文件,你可以使用 spark.read.text 或 spark.read.csv 方法。对于 json 格式,您可以使用 spark.read.json,对于 parquet spark.read.parquet 等。您需要使用与文件格式相关的方法来获取正确的数据帧。

Spark 版本 < 3.0.0

假设您在问题中指定的文件夹结构下有不同格式的文件。您需要使用以下代码才能读取 csv 文件。

spark.read.csv("folder/sub1/a/*.csv", "folder/sub2/a/*.csv","folder/sub1/b/*.csv", "folder/sub2/b/*.csv")

火花版本 >=3.0.0

在此版本中,您可以使用 pathGlobFilter、recursiveFileLookup 等选项,而不是指定每个子文件夹路径,并仅将父文件夹路径传递给 read 方法。阅读本文档

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Python递归复制目录中具有特定扩展名的所有文件?

如何从git仓库中读取所有具有不同扩展名的文件?

使用glob python读取目录中具有特定扩展名的所有文件

如何列出目录中除具有指定扩展名的文件以外的所有文件?

如何在目录中递归添加具有特定扩展名的文件

如何获取目录中具有特定扩展名的所有文件?

如何在目录中查找所有具有相同扩展名的文件

如何在目录中并行查找所有具有相同扩展名的文件

如何从具有指定长度的可变扩展名的目录中获取所有文件?

如何从目录中仅读取具有特定扩展名的文件

Git-如何递归地忽略一个目录中的所有文件,但某些文件具有特定的扩展名

如何从特定给定的目录和所有子目录中搜索具有特定扩展名的文件

从目录中读取具有Python中相同文件扩展名的多个文件的文件

如何递归遍历目录以删除具有某些扩展名的文件

扩展名后递归添加后缀到目录中的所有文件

如何将所有具有特定扩展名的文件移动到特定目录?

如何递归搜索具有某些扩展名的文件?

列出具有特定扩展名的目录中的所有文件

如何递归删除具有不同扩展名的多个文件?

Symfony Finder:获取具有特定扩展名的所有文件以及特定目录中的所有目录

递归遍历所有子目录,如果存在具有特定扩展名的文件,则在该文件夹中运行一次命令

如何更改目录中所有文件的扩展名?

从文档目录中获取包含相同名称但具有不同扩展名的文件列表。

从目录中列出具有不同扩展名的文件

如何对目录中带有 json 扩展名的所有文件运行 bash 脚本?

如何批量更改文件夹中的所有扩展名。(带有目录)

如何删除特定文件夹中具有特定扩展名的所有文件?

如何重命名具有不同扩展名的文件

在MacOS中同步具有不同扩展名的文件