Исключительная работа с Scala Redukey DataFrame

Я пытаюсь сделать подсчет в Scala с DataFrame. Мои данные имеют 3 столбца, и я уже загрузил данные и разделил их на вкладки. Поэтому я хочу сделать что-то вроде этого:

val file = file.map(line=>line.split("\t"))
val x = file1.map(line=>(line(0), line(2).toInt)).reduceByKey(_+_,1)

Я хочу поместить данные в dataframe, и у меня возникли проблемы с синтаксисом

val file = file.map(line=>line.split("\t")).toDF
val file.groupby(line(0))
        .count()

Может ли кто-нибудь помочь проверить, правильно ли это?

1 ответ

Решение

Искра должна знать схему df
Есть много способов указать схему, вот один из вариантов:

val df = file
   .map(line=>line.split("\t"))
   .map(l => (l(0), l(1).toInt)) //at this point spark knows the number of columns and their types
   .toDF("a", "b") //give the columns names for ease of use

df
 .groupby('a)
 .count()
Другие вопросы по тегам