1 个回答
涉及到从新区分的话,可以使用两个函数,分别是:coalesce 和 repartition 函数,这两个函数的区别是:
使用案例如下:
reparation是直接调用 coalesce(numPartitions, shuffle=True),不同的是,reparation 函数可以增加或减少分区数量,调用 repartition 函数时,还会产生 shuffle 操作(该操作与 HiveQL 的 DISTRIBUTE BY 操作类似。)。
而 coalesce 函数可以控制是否 shuffle,但当 shuffle 为 false 时,只能减小 partition 数,而无法增大。
使用案例如下:
val data = sc.textFile("hdfs://master:9000/source/a.txt",20)
val coData = data.coalesce(5,false)
val reData = data.repartition(5)
发布于:2年前 (2022-12-08) IP属地:四川省
我来回答
您需要 登录 后回答此问题!