是否可以在 Spark Scala 中有條件地添加聚合?
我想通過有條件地添加來干燥以下代碼collect_set
例子:
val aggDf = if (addId) groups.agg(
count(lit(1)).as("Count"),
percentile_approx($"waitTime",lit(0.5), lit(10000)),
collect_set("Id").as("Ids")
)
else groups.agg(
count(lit(1)).as("Count"),
percentile_approx($"waitTime",lit(0.5), lit(10000))
)
也許這是撰寫整個代碼的更好方法。
謝謝。
uj5u.com熱心網友回復:
您可以按順序存盤聚合列并根據需要更改順序:
var aggCols = Seq(count(lit(1)).as("Count"),
percentile_approx($"waitTime",lit(0.5), lit(10000)))
if(addId) aggCols = aggCols : collect_set("Id").as("Ids")
val aggDf = groups.agg(aggCols.head, aggCols.tail:_*)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/453092.html
下一篇:如何通過HTTP訪問S3存盤桶?
