spark scala reducekey 数据帧操作

spark scala reducekey dataframe operation

我正在尝试使用数据框在 Scala 中进行计数。我的数据有 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()

谁能帮忙看看这是否正确?

spark 需要知道 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()