Spark 词频统计示例
在Spark的词频统计示例中,我们找出特定文件中每个单词的频率。这里使用Scala语言执行Spark操作。
执行Spark词频统计示例的步骤
在这个示例中,我们找出并显示每个单词的出现次数。
- 在您的本地计算机上创建一个文本文件,并向其中写入一些文本。
$ nano sparkdata.txt
- 检查sparkdata.txt文件中的文本。
$ cat sparkdata.txt
- 在HDFS中创建一个目录,用来保存文本文件。
$ hdfs dfs -mkdir /spark
- 将 sparkdata.txt 文件上传到特定目录下的 HDFS 中。
$ hdfs dfs -put /home/codegyani/sparkdata.txt /spark
- 现在,按照以下命令打开以Scala模式运行的Spark。
$ spark-shell
- 使用以下命令创建一个RDD。
scala> val data=sc.textFile("sparkdata.txt")
在这里,传递任何包含数据的文件名。
- 现在,我们可以通过使用以下命令来读取生成的结果。
scala> data.collect;
- 在这里,我们使用以下命令将现有的数据以单个单词的形式拆分。
scala> val splitdata = data.flatMap(line => line.split(" "));
- 现在,我们可以使用以下命令阅读生成的结果。
scala> splitdata.collect;
- 现在,执行地图操作。
scala> val mapdata = splitdata.map(word => (word,1));
在这里,我们为每个单词赋值 1。
- 现在,我们可以使用以下命令来读取生成的结果。
scala> mapdata.collect;
- 现在,执行reduce操作
scala> val reducedata = mapdata.reduceByKey(_+_);
在这里,我们正在总结生成的数据。
- 现在,我们可以使用以下命令读取生成的结果。
scala> reducedata.collect;
在这里,我们得到了期望的输出。