通过从Hive表读取数据创建的spark数据帧的分区数

时间:2017-05-10 08:09:11

标签: hive apache-spark-sql

我对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 = ??

1 个答案:

答案 0 :(得分:2)

根据HDFS的块大小创建分区。

想象一下,您已将10个分区读作单个RDD,如果块大小为128MB,那么

no of partitions =(大小为(10个分区,以MB为单位))/ 128MB

将存储在HDFS上。

请参阅以下链接:

http://www.bigsynapse.com/spark-input-output