2017-08-28 70 views
0

我有一个String变量,其中包含少数由逗号分隔的列名称。例如:如何在Apache Spark中的双引号内包含List项目

VAL温度=“Col2中,COL3,COL4”

我有一个数据帧,我想基于某些列,其包括存储在临时变量以及列组的数据帧。比如我GROUPBY语句应该像下面的语句

DF.groupBy(所有 “col1”, “col2的”, “COL3”, “COL4”)

的临时变量可能具有的任何列名。所以我想创建一个GroupBy语句,它可以动态获取temp变量的值以及由我提供的手动条目。

我试着用下面的语句,但无济于事 DF.groupBy(“Col1中”临时)

然后我分裂临时变量的值基于逗号标志,并将它们存储在另一个变量,并试图将它传递给groupBy语句。但即使这样也会失败。

VAL =的temp1 temp.split(”, “)

DF.groupBy(” Col1" 中,temp1中)

任何想法如何可以内包围List变量的值双引号并将其传递给groupBy语句?

+1

'DF.groupBy( “Col1中”,温度:_ *)'这假定'GROUPBY()'接受任何数目的'通过标准可变参数语法的字符串参数。 – jwvh

+0

谢谢@jwvh您的宝贵意见 – JKC

回答

1

使用可变参数:

df.groupBy("Col1", temp1: _*) 

import org.apache.spark.sql.functions.col 

df.groupBy("Col1 +: temp1 map col: _*) 
+0

非常感谢您为user8371915输入宝贵的意见 – JKC

相关问题