BdE*_*eer -1 datastax apache-spark parquet apache-spark-sql
我使用的是spark-sql 2.3.1,我设置
spark.sql.shuffle.partitions=40
Run Code Online (Sandbox Code Playgroud)
在我的代码中'
val partitioned_df = vals_df.repartition(col("model_id"),col("fiscal_year"),col("fiscal_quarter"))
Run Code Online (Sandbox Code Playgroud)
当我说
println(" Number of partitions : " + partitioned_df.rdd.getNumPartitions)
Run Code Online (Sandbox Code Playgroud)
它给出 40 作为输出,事实上重新分区后理想情况下计数应该在 400 左右,为什么重新分区在这里不起作用?我在这里做错了什么?如何修复它?
这是可以预料的,状态的 scaladocrepartition:
返回由给定分区表达式分区的新数据集,使用spark.sql.shuffle.partitions作为分区数。生成的数据集经过哈希分区。
也许你对重新分区的理解是错误的。当您按列重新分区时c,具有相同值的所有行都c位于同一分区中,但 1 个分区可以容纳多个值c
| 归档时间: |
|
| 查看次数: |
9032 次 |
| 最近记录: |