【发布时间】:2014-09-22 17:39:46
【问题描述】:
我有数百万个 S3 文件,其大小平均约为 250k,但变化很大(最多 4 GB 大小)。我不能轻松地使用通配符来挑选多个文件,但我可以制作一个 RDD,其中包含我要随时处理的文件的 S3 URL。
我想要两种配对的 RDD。第一个是 S3 URL,然后是 Unicode 字符串形式的文件内容。 (当某些文件可能很长时,这是否可能?)第二个可以从第一个计算,通过 split()-ting 换行符处的长字符串。
我已经尝试了多种方法来做到这一点,通常会得到 Python PicklingError,除非我一次遍历 S3 URL 的 PII。然后我可以使用 union() 来构建我想要的大 pairRDD,如另一个问题中所述。但我认为这不会并行运行,这在处理大量文件时很重要。
我目前正在使用 Python,但如果需要,可以切换到 Scala 或 Java。
提前致谢。
【问题讨论】: