如何 select 并计算文件中的每个单词?
how to select and count the each individual words from file?
hello how are you
I am fine
how are you
I am also fine
Thank you
这是我的文件,我想统计文件中每个单词重复了多少次?所以输出应该看起来像
(hello,1)
(how,2)
(are,2)
(you,3)
等等。
我试过了
val rdd = sc.textFile("/path")
val rdd1= rdd.map(x=>(x.distinct,x.length)).collect
但是没用?请帮忙。
您可以使用 countByValue()
:
rdd.map(x => x.split(" ")).flatMap(x => x).countByValue()
其中returns张地图:
Map(are -> 2, am -> 2, I -> 2, you -> 3, also -> 1, how -> 2, Thank -> 1, fine -> 2, hello -> 1)
如果你想要一个 RDD,你可以这样做
val rdd1 = sc.parallelize(rdd.map(x => x.split(" ")).flatMap(x => x).countByValue().toSeq)
hello how are you
I am fine
how are you
I am also fine
Thank you
这是我的文件,我想统计文件中每个单词重复了多少次?所以输出应该看起来像
(hello,1)
(how,2)
(are,2)
(you,3)
等等。
我试过了
val rdd = sc.textFile("/path")
val rdd1= rdd.map(x=>(x.distinct,x.length)).collect
但是没用?请帮忙。
您可以使用 countByValue()
:
rdd.map(x => x.split(" ")).flatMap(x => x).countByValue()
其中returns张地图:
Map(are -> 2, am -> 2, I -> 2, you -> 3, also -> 1, how -> 2, Thank -> 1, fine -> 2, hello -> 1)
如果你想要一个 RDD,你可以这样做
val rdd1 = sc.parallelize(rdd.map(x => x.split(" ")).flatMap(x => x).countByValue().toSeq)