目录
1 dataframe随机分组
1 实现功能
dataframe按照权重随机分成n组, 权重和为1.
2 代码demo
// 1 获取SparkSession
val spark: SparkSession = SparkSession
.builder()
.appName(s"${this.getClass.getSimpleName}")
.master("local[3]")
.getOrCreate()
import spark.implicits._
// 2 构造数据源; 构造dataframe
val datas = 1.to(100)
val df = spark.sparkContext.makeRDD(datas).toDF("id")
// 3 定义随机分组的权重, 权重的和值为1; 随机分组
val weights = Array(0.3, 0.3, 0.4)
val df_arr = df.randomSplit(weights)
// 4 使用分组后的dataframe
df_arr(0).show()
df_arr(1).show()
df_arr(2).show()