了解Spark如何将输入文件转换为工作节点

时间:2018-12-19 04:48:30

标签: apache-spark

我有一个带有3个工作程序节点的Spark集群。以简化的字数为例:

val textFile = sc.textFile("hdfs://input/words")
textFile.count

此应用程序正在创建RDD,并计算多少行。由于输入文件很大,当实际执行count函数时,Spark是否将输入分为3部分并将其分别移至3个工作节点?如果是这样,Spark如何对输入文件进行分区(Spark如何确定哪一行发送到哪个工作节点)?

1 个答案:

答案 0 :(得分:1)

您正在尝试处理文件“ hdfs:// input / words”。一旦将其存储在HDFS上,该文件便已被分割(因为您已经以上述HDFS文件为例)。如果文件具有3个块,Spark将其视为文件的3个分区。 Spark不需要将文件移动到辅助节点。由于文件位于HDFS上。它已经在将被spark用作工作节点的机器上。 我希望这很清楚。