我们使用Spark 1.6 (以及Spark 2.1)并对蜂窝表进行操作,这些蜂窝表保存为拼花面板文件。在某些情况下,我们只有很少的文件(大约10 MBytes大小)。
例如,有两个拼图文件,使用sqlContext.table(tableName).rdd.count读取这些表将创建一个只有2个任务的sparkjob,这需要相当长的时间(~12秒)。

我的问题是:除了N之外,是否有可能以更高的并行性读取N文件?有没有一种方法可以在不改变文件系统上的文件数量的情况下加速这个spark作业?由于HDFS是一个分布式文件系统(并且文件是复制的),我可以想象多台机器可以同时读取一个文件的(一部分)。
发布于 2017-09-11 15:33:53
使用多个执行器和/或多个线程(使用spark.task.cpus>1)
https://stackoverflow.com/questions/43775644
复制相似问题