我正在尝试使用 Spark JAVA api 执行以下代码。
sampleDS=sampleDS
.select(col("column1"),col("column2"),col("price1")col("price2"))
.groupBy(col("column1"),col("column2"))
.agg(expr("sum(price1)").as("MainPrice"),expr("sum(price2)").as("ExtPrice"))
.sort(col("column1"),col("column2"));
但是我希望代码中的这部分是动态的,
.agg(expr("sum(price1)").as("MainPrice"),expr("sum(price2)").as("ExtPrice"))
这意味着只有当请求具有ExtPrice我需要ExtPrice存在时,MainPrice反之亦然,
即如果只选择MainPrice代码应该是.agg(expr("sum(price1)"))
或者当只选择ExtPrice.agg(expr("sum(price2)"))
我尝试在列表中添加表达式。一些东西,但我被困在那里。谁能帮我解决这个问题?