如何从URL中包含RDD的许多S3文件中创建Spark配对的RDD?

时间:2014-07-30 21:57:08

标签: amazon-s3 apache-spark

我有数百万个S3文件,其大小平均约为250k,但变化很大(最大可达4 GB)。我不能轻易使用通配符来挑选多个文件,但是我可以随时使RDD保存我想要处理的文件的S3 URL。

我想获得两种配对的RDD。第一个将具有S3 URL,然后将该文件的内容作为Unicode字符串。 (当某些文件可以这么长时,这是否可能?)第二个可以从第一个计算,通过split() - 在换行符处长字符串。

我已经尝试了很多方法来实现这一点,通常会得到Python PicklingError,除非我一次迭代一次S3 URL的PII。然后我可以使用union()来构建我想要的大对RDD,如另一个问题所述。但我不认为这会并行运行,这在处理大量文件时很重要。

我目前正在使用Python,但如果需要,可以切换到Scala或Java。

提前致谢。

1 个答案:

答案 0 :(得分:0)

只要您的群集具有内存容量,文件的大小就无关紧要。通常,在一切正常之前,您需要做一些tuning

我不熟悉python所以我不能对酸洗错误做太多评论。也许这些链接可能会有所帮助,但我会添加python标签,以便更好的人可以看看。