我有一个带有3个工作程序节点的Spark集群。以简化的字数为例:
val textFile = sc.textFile("hdfs://input/words")
textFile.count
此应用程序正在创建RDD,并计算多少行。由于输入文件很大,当实际执行count
函数时,Spark是否将输入分为3部分并将其分别移至3个工作节点?如果是这样,Spark如何对输入文件进行分区(Spark如何确定哪一行发送到哪个工作节点)?
答案 0 :(得分:1)
您正在尝试处理文件“ hdfs:// input / words”。一旦将其存储在HDFS上,该文件便已被分割(因为您已经以上述HDFS文件为例)。如果文件具有3个块,Spark将其视为文件的3个分区。 Spark不需要将文件移动到辅助节点。由于文件位于HDFS上。它已经在将被spark用作工作节点的机器上。 我希望这很清楚。