R. *_*ram 5 java amazon-s3 apache-spark
我们有一个包含大量文件的 S3 存储桶。文件列表每天都在增长。我们需要一种方法来获取文件列表并根据文件名中存在的元数据生成计数(分组依据)。我们不需要这个内容。这些文件很大并且包含二进制内容,因此下载它们不是最佳选择。
我们目前正在使用 S3 Java API 获取文件名列表,将它们存储在列表中,并使用 Spark 进行处理。这目前有效,因为文件数量达到数十万,但无法扩展以满足我们未来的需求。
有没有办法使用 Spark 进行整个处理?
我通过修改 FileInputDStream 实现了类似的效果,这样它不是将文件的内容加载到 RDD 中,而是简单地从文件名创建一个 RDD。
如果您实际上不想将数据本身读入 RDD,或者希望将文件名传递给外部命令作为您的步骤之一,那么这会提高性能。
只需更改 filesToRDD(..) 即可生成文件名的 RDD,而不是将数据加载到 RDD 中。
| 归档时间: |
|
| 查看次数: |
4176 次 |
| 最近记录: |