Выбор столбца не в кубе в Spark - PullRequest
0 голосов
/ 17 мая 2018

У меня есть фрейм данных, в котором есть 3 столбца x, y и z.Я хочу получить все три столбца в результате, но не хочу кубировать по столбцу z.

Есть ли способ, которым я могу это сделать?

PS - (Я только что привел пример с 3 столбцами, но у меня довольно длинный список столбцов, поэтому GROUP SET не подходит).

Пример -

valdf = Seq (("1", "x", "a"), ("1", "v", "b"), ("3", "x", "c")). toDF ("col1 "," col2 "," col3 ")

val list = Seq (" col1 "," col2 "). map (e => col (e))

// сейчасЯ хочу выбрать col3 без куба (в основном я не хочу получать комбинации для него) // Этот парень вообще не выберет col3, так как col3 не является частью куба, то есть я хочу достичь

display (. df.select ($ "col1", $ "col2", $ "col3") куб (список: _ *) AGG (сумма ( "col1")))

.

1 Ответ

0 голосов
/ 17 мая 2018

Куб - это расширение GroupBY, в котором вы получите агрегированный результат для различных комбинаций столбцов, используемых для группировки. Вот пример того, чего вы можете достичь, используя groupBy,

df.cube($"col1",$"col2").agg(first($"col3").as("col3")).show

Пожалуйста, поделитесь ожидаемым результатом в соответствии с рекомендациями Shaido.

...