【发布时间】:2023-04-04 23:14:01
【问题描述】:
假设这些是我的 CSV 文件:
21628000000;21650466094
21697098269;21653506459
21653000000;21624124815
21624124815;21650466094
21650466094;21650466094
21624124815;21697098269
21697098269;21628206459
21628000000;21624124815
21650466094;21628206459
21628000000;21628206459
我想统计第一列出现的次数以获得结果:
(21628000000,4)
(21697098269,2)
(21624124815,2)
(21650466094,2)
我试过了:
object CountOcc {
def main(args: Array[String]) {
val conf = new SparkConf()
.setAppName("Word Count")
.setMaster("local")
val sc = new SparkContext(conf)
//loading text file into textFile object .(RDD)
val textFile = sc.textFile(args(0))
//read the line , split the line into words
val words = textFile.flatMap (line => line.split(";"))
val cols = words.map(_.trim)
println(s"${cols(0)}") //error
cols.foreach(println)
sc.stop()
}
}
我收到一个错误org.apache.spark.rdd.RDD错误[String]不带参数
所以我不能生成 cols(0) 或 cols(1),我怎么能只有第一列这样我就可以计算出现次数?
【问题讨论】:
标签: scala apache-spark