我有数百万个S3文件,其大小平均约为250k,但变化很大(最大可达4 GB)。我不能轻易使用通配符来挑选多个文件,但是我可以随时使RDD保存我想要处理的文件的S3 URL。
我想获得两种配对的RDD。第一个将具有S3 URL,然后将该文件的内容作为Unicode字符串。 (当某些文件可以这么长时,这是否可能?)第二个可以从第一个计算,通过split() - 在换行符处长字符串。
我已经尝试了很多方法来实现这一点,通常会得到Python PicklingError,除非我一次迭代一次S3 URL的PII。然后我可以使用union()来构建我想要的大对RDD,如另一个问题所述。但我不认为这会并行运行,这在处理大量文件时很重要。
我目前正在使用Python,但如果需要,可以切换到Scala或Java。
提前致谢。
答案 0 :(得分:0)
只要您的群集具有内存容量,文件的大小就无关紧要。通常,在一切正常之前,您需要做一些tuning。
我不熟悉python所以我不能对酸洗错误做太多评论。也许这些链接可能会有所帮助,但我会添加python标签,以便更好的人可以看看。