性能—有没有一种方法可以在读取多个文件时并行化spark.read.load(string*)?

nxowjjhe  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(680)

我注意到在sparkshell(spark2.4.4)中,当我做一个简单的 spark.read.format(xyz).load("a","b","c",...) ,看起来spark使用单个ipc客户端(或“线程”)加载文件a、b、c。。。按顺序(它们是hdfs的路径)。
这是预期的吗?
我问的原因是,对于我的情况,我试图加载50k文件,而顺序加载需要很长时间。
谢谢
ps,我试图在源代码中看到它,但不确定这是否是一个:https://github.com/apache/spark/blob/branch-2.4/sql/core/src/main/scala/org/apache/spark/sql/dataframereader.scala#l180

nle07wnf

nle07wnf1#

可能不是我最初问题的确切“答案”,但我找到了我的特殊情况的原因:从name node的审核日志中,发现有一些失控的作业挂在name node上,这大大降低了rpc调用的速度。在消灭了这些糟糕的工作之后,spark的加载速度大大提高了。

相关问题