spark scala reducekey数据帧操作

时间:2017-11-04 20:35:19

标签: scala apache-spark dataframe spark-dataframe word-count

我正在尝试用数据帧对scala进行计数。我的数据有3列,我已经加载了数据并按标签分割。所以我想做这样的事情:

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

我想将数据放在数据框中,并在语法上遇到一些麻烦

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

有人可以帮助检查这是否正确吗?

1 个答案:

答案 0 :(得分: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()