我对spark数据帧的分区数有疑问。
如果我有Hive表(员工),其中包含列(姓名,年龄,身份,位置)。
CREATE TABLE employee (name String, age String, id Int) PARTITIONED BY (location String);
如果员工表有10个不同的位置。因此,数据将被划分为HDFS中的10个分区。
如果我通过读取Hive表(员工)的整个数据来创建Spark数据帧(df)。
Spark会为数据帧(df)创建多少个分区?
df.rdd.partitions.size = ??
答案 0 :(得分:2)
根据HDFS的块大小创建分区。
想象一下,您已将10个分区读作单个RDD,如果块大小为128MB,那么
no of partitions =(大小为(10个分区,以MB为单位))/ 128MB
将存储在HDFS上。
请参阅以下链接: