Как отправить список выражений в агрегатную функцию в Spark JAVA API

Я пытаюсь выполнить приведенный ниже код, используя API Spark JAVA.

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"));

Но эта часть в коде, я хочу, чтобы это было Dynamic,

.agg(expr("sum(price1)").as("MainPrice"),expr("sum(price2)").as("ExtPrice"))

это означает, что только если в запросе есть ExtPrice, мне нужен ExtPrice, наоборот, для MainPrice, т.е. если выбран только MainPrice, код должен быть .agg(expr("sum(price1)")) или когда выбран только ExtPrice .agg(expr("sum(price2)")) Я пытался добавить выражения в список. Что-то, но я застрял там. Может кто-нибудь помочь мне здесь разобраться?

0 ответов

Другие вопросы по тегам