在阅读this answer之后,我知道从Hive读取数据时的分区数量将由HDFS blockSize决定。
但我遇到了一个问题:我使用spark sql来读取一个hive表,并将数据保存到一个新的hive表中,但是两个hive表在使用spark sql加载时有不同的分区号。
val data = spark.sql("select * from src_table")
val partitionsNum = data.rdd.getNumPartitions
println(partitionsNum)
val newData = data
newData.write.mode("overwrite").format("parquet").saveAsTable("new_table")
我不明白相同的数据,为什么不同的分区号。