apache-spark - spark sql读取hive表时的分区数是多少?
问题描述
阅读完这个答案后,我知道从 Hive 读取数据时的分区数将由 HDFS 块大小决定。
但是我遇到一个问题:我使用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")
我不明白相同的数据,为什么不同的分区号。
解决方案
推荐阅读
- amazon-web-services - 具有嵌套资源的 Cloudformation 堆栈无法创建
- core-data - Core Data 计算属性总是返回 0
- reactjs - 当我点击 yarn run dev 时。它显示“下一个”不是内部或外部命令、可运行程序或批处理文件
- elasticsearch - 我怎样才能让 Logstash-Keystore 找到它的密码?
- javascript - 如何使用javascript确保元素仅在圆圈上沿一个方向移动?
- php - 如何在 Laravel 刀片中访问数组的内容
- python - 如何修复属性“列表”
- python - 如何根据第 n 列对行列表进行排序?
- python - 使用浏览器路径时浏览器未打开
- r - DBSCAN 噪声点