Исключительная работа с 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()