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