有没有办法在读取多个文件时,将spark.read.load(string*)并行化?

问题描述 投票:3回答:1

我注意到在spark-shell(spark 2.4.4)中,当我做一个简单的 spark.read.format(xyz).load("a","b","c",...)它看起来像火花使用一个单一的IPC客户端(或 "线程")依次加载文件a,b,c,...(他们是路径到hdfs)。

这是预期的吗?

我问的原因是,对于我的情况,我试图加载50K的文件,和顺序加载需要很长的时间。

谢谢你

PS,我是想在源码中看到它,但不知道是不是这个。https:/github.comapachesparkblobbranch-2.4sqlcoresrcmainscalaorgapachesparksqlDataFrameReader.scala#L180。

performance apache-spark file-io spark-shell
1个回答
0
投票

可能不是我最初问题的准确 "答案",但我发现了我的特殊情况的原因:从name node的审计日志中,发现有一些失控的作业钉住了name node,这大大降低了rpc调用的速度。杀掉这些不良作业后,火花的加载速度得到了很大的提升。

© www.soinside.com 2019 - 2024. All rights reserved.