Spark分区的HDFS文件如何?

时间:2016-12-08 17:15:02

标签: apache-spark hdfs

如果我们有一个未压缩的320块HDFS文件存储在16个数据节点集群上。每个节点有20个块,如果我们使用Spark将这个文件读入RDD(在创建RDD时没有显式传递 numPartitions textFile = sc.textFile("hdfs://input/war-and-peace.txt")

如果每个节点上有一个16个执行器,那么每个执行器会创建多少个Spark RDD分区?它会为每个HDFS块创建一个分区,即20个分区吗?

1 个答案:

答案 0 :(得分:1)

如果您有320 blocks个HDFS,则以下代码将创建一个包含320个分区的RDD

val textFile = sc.textFile("hdfs://input/war-and-peace.txt")

textFile()方法导致RDD分区为same number of blocks,因为文件存储在HDFS中。

您可以查看此question,这可能会解决您对分区的疑问