Scala 如何从文件中选择和计算每个单词?

Scala 如何从文件中选择和计算每个单词?,scala,apache-spark,count,rdd,distinct-values,Scala,Apache Spark,Count,Rdd,Distinct Values,这是我的文件,我想数一数每个单词在文件上重复了多少次?所以输出应该是 hello how are you I am fine how are you I am also fine Thank you 等等 我试过这个 (hello,1) (how,2) (are,2) (you,3) 但它不起作用?请帮助。您可以使用countByValue(): 返回一个映射: rdd.map(x => x.split(" ")).flatMap(x => x).countB

这是我的文件,我想数一数每个单词在文件上重复了多少次?所以输出应该是

hello how are you
I am fine
how are you
I am also fine
Thank you
等等

我试过这个

(hello,1)
(how,2)
(are,2)
(you,3)

但它不起作用?请帮助。

您可以使用
countByValue()

返回一个映射:

rdd.map(x => x.split(" ")).flatMap(x => x).countByValue()
如果您想要RDD,您可以这样做

Map(are -> 2, am -> 2, I -> 2, you -> 3, also -> 1, how -> 2, Thank -> 1, fine -> 2, hello -> 1)

你好,第一行怎么样,编辑时被删除了谢谢,我补充道。最后是foreach(prinln)
Map(are -> 2, am -> 2, I -> 2, you -> 3, also -> 1, how -> 2, Thank -> 1, fine -> 2, hello -> 1)
val rdd1 = sc.parallelize(rdd.map(x => x.split(" ")).flatMap(x => x).countByValue().toSeq)