1

我正在尝试使用 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)")) 我尝试在列表中添加表达式。一些东西,但我被困在那里。谁能帮我解决这个问题?

4

0 回答 0