繁体   English   中英

Spark:如何生成文件路径以使用scala从s3读取

[英]Spark :How to generate file path to read from s3 with scala

如何在 Scala 中生成和加载多个 s3 文件路径,以便我可以使用:

   sqlContext.read.json ("s3://..../*/*/*")

我知道我可以使用通配符来读取多个文件,但是有什么方法可以生成路径吗? 例如我的文件结构如下所示:BucketName/year/month/day/files

       s3://testBucket/2016/10/16/part00000

这些文件都是json。 问题是我只需要加载文件的空间持续时间,例如。 说 16 天,然后我需要加载开始日(10 月 16 日)的文件:10 月 1 日到 16 日。

同一开始日的持续时间为 28 天,我想从 9 月 18 日开始阅读

有人可以告诉我有什么方法可以做到这一点吗?

您可以看看这个答案,您可以指定整个directories ,使用wildcards甚至CSV of directories and wildcards 例如:

sc.textFile("/my/dir1,/my/paths/part-00[0-5]*,/another/dir,/a/specific/file")

或者您可以使用AWS API获取list of files locations并使用 spark 读取这些文件。

您可以查看此对 AWS S3 文件搜索的回答

您可以生成逗号分隔的路径列表: sqlContext.read.json (s3://testBucket/2016/10/16/ ,s3://testBucket/2016/10/15/ ,...);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM