Spark 字符计数示例
在Spark字符计数示例中,我们可以找出特定文件中每个字符的频率。在这里,我们使用Scala语言执行Spark操作。
执行Spark字符计数示例的步骤
在这个示例中,我们找出并显示每个字符的出现次数。
- 在您的本地机器上创建一个文本文件,并在其中写入一些文本。
$ nano sparkdata.txt
- 检查sparkdata.txt文件中的文本。
$ cat sparkdata.txt
- 在HDFS中创建一个目录,用于存放文本文件。
$ hdfs dfs -mkdir /spark
- 在指定目录上HDFS上上传sparkdata.txt文件。
$ 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;
这里,我们得到了期望的输出。