如何从 Spark 中的多个云存储桶中读取 TXT 文件?

Posted

技术标签:

【中文标题】如何从 Spark 中的多个云存储桶中读取 TXT 文件?【英文标题】:How to read TXT fiels from multiple cloud storage buckets in spark? 【发布时间】:2020-03-11 14:48:12 【问题描述】:

我想列出与gs://bucketname* 匹配的云存储中的所有存储桶。我尝试过使用 gsutil,它正在工作,但从 spark read 或 readstream 中却无法正常工作。

gs://bucket1 gs://bucket2 gs://bucketN

工作:gsutil ls gs://bucket*/mydir/abcd*.txt

不工作:sc.textFile("gs://bucket*/mydir/abcd*.txt")

【问题讨论】:

【参考方案1】:

gsutil 通过在服务器上执行存储桶列表和对象列表(带有可选前缀)查询,然后根据通配符客户端过滤结果来实现通配符。由于 spark 不支持相同的功能,因此您必须列出存储桶和对象并自己进行过滤。

【讨论】:

以上是关于如何从 Spark 中的多个云存储桶中读取 TXT 文件?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Node 从 s3 存储桶中读取 txt 文件的内容

无法使用 Pyspark 2.4.4 读取 s3 存储桶中的镶木地板文件

从 S3 存储桶中读取大量 CSV 文件

如何从 S3 存储桶中仅读取最近 7 天的 csv 文件

如何阻止 Spark 结构化流每次都列出 S3 存储桶中的所有文件

Pyspark 数据帧从一个存储桶中读取,并在同一作业中使用不同的 KMS 密钥写入另一个存储桶