在Spark中读取大型gz文件

时间:2017-11-22 21:35:08

标签: apache-spark pyspark

我有2个gzip文件,每个文件大小约为30GB,并编写了火花代码来分析它们。 spark集群有4个工作节点(28GB RAM和4个核心)和2个头节点(64GB RAM)。

我正在使用sc.textFile(histfile,20)来读取这两个gzip文件并将它们并行化。这项工作分为3个阶段 - reduceByKeyreduceByKeysaveAsTextFile。由于有2个文件,截至目前只有2名工人正在使用。

花了4个多小时,第1阶段还没完成。 当每个gzip文件的大小为100GB-200GB时,运行spark作业的正确方法是什么。

1 个答案:

答案 0 :(得分:3)

gzip文件不是可拼写的,因此你的第一个阶段会产生两个map任务,第一个阶段需要花费很多时间才能通过。

请在第二阶段之前重新分配,以便进行良好的分发以减少任务。