spark 的 repartition

Spark分区是一种将数据分割到多个分区的方法,这样您就可以并行地在多个分区上执行转换,从而更快地完成作业。还可以将已分区的数据写入文件系统(多个子目录),以便下游系统更快地读取数据。

Spark有几种分区方法来实现并行性,可以根据需要选择使用哪种分区方法。

PARTITIONING METHODS (SCALA)说明提供类
repartition(numPartitions: Int)Uses RoundRobinPartitioningDataFrame
repartition(partitionExprs: Column*)Uses HashPartitionerDataFrame
repartition(numPartitions: Int, partitionExprs: Column*)partition = hash(partitionExprs) % numPartitionsDataFrame
coalesce(numPartitions: Int)Use only to reduce the number of partitions.DataFrame
repartitionByRange(partitionExprs : Column*)Uses rangepartitioning. Ideal to use on numeric columns.DataFrame
repartitionByRange(numPartitions: Int, partitionExprs: Column*)DataFrame
partitionBy(colNames: String*)Use to write the data into sub-folderDataFrameWriter

spark sql repartition by column
Spark SQL是Apache Spark的一部分,提供了一种使用SQL语言的方式来处理大数据。

在Spark SQL中,“repartition by column” 是指根据某个列对数据进行重新分区。它可以帮助您通过控制分区键来改善作业的性能。

要重新分区,请使用如下代码:

df.repartition(col(“column_name”))

其中,“df” 是您要重新分区的数据框,“column_name” 是您想要作为分区键的列的名称。

重新分区可以提高分布式作业的性能,因为它可以帮助更好地利用集群中的资源。但同时也要注意,不适度的重新分区可能导致性能下降,因此需要适当的平衡。

参考:
https://juejin.cn/s/spark%20sql%20repartition%20by%20column
https://blog.csdn.net/penriver/article/details/116229560

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值