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

相關問題