编写一个简单的程序,实现以下功能:统计文本文件中出现的单词的个数

简介: 编写一个简单的程序,实现以下功能:统计文本文件中出现的单词的个数

(1)创建程序人口对象。例如,创建SparkSession的对象。

(2)读人数据并转换为RDD。

(3) RDD计算。

(4)RDD遍历输出。

import java.util.Arrays;
import java.util.regex.Pattern;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.sql.SparkSession;
import scala.Tuple2;
public class JAVAWORDCOUNT {
static Pattern SPACE=Pattern.compile(" ");
  public static void main(String[] args) {
if(args.length<1) {
  System.out.println("error");
  System.exit(1);
}
  SparkSession spark=SparkSession.builder().
    master("local").appName("name").getOrCreate();
  JavaRDD<String> lines=spark.read().textFile(args[0]).javaRDD();
  JavaRDD<String> words=lines.flatMap(f->Arrays.asList(SPACE.split(f)).iterator());
  JavaPairRDD<String,Integer> ones=
    words.mapToPair(f->new Tuple2<String,Integer>(f,1));
  JavaPairRDD<String,Integer> counts=ones.reduceByKey((x,y)->(x+y));
  counts.foreach(f->System.out.println(f));
  spark.stop();
}
  }


1.自己创建应该文件夹(写入数据,注意每行不要有空格)在虚拟机里面,并复制路径

19.1.png

19.2.png

2.运行

结果如下:

19.3.png

相关文章
|
6月前
|
Python
十行python代码实现文件去重,去除重复文件的脚本
十行python代码实现文件去重,去除重复文件的脚本
69 1
|
6月前
|
算法 Python
python文件读取操作练习题(统计单词)
python文件读取操作练习题(统计单词)
118 0
|
Shell Linux C++
shell脚本 | C/C++ 统计文件单词个数
shell脚本 | C/C++ 统计文件单词个数
编写代码实现:单词计数。对文档中的单词计数(注意:不包括符号),并把单词计数超过3的结果进行保存。
编写代码实现:单词计数。对文档中的单词计数(注意:不包括符号),并把单词计数超过3的结果进行保存。
101 0
编写一个程序,如果名为Exercise12_15.txt的文件不存在,则创建该文件。使用文本I/O将随机产生的100个整数写入文件,文件中的整数由空格分开。从文件中读回数据并以升序显示数据。
编写一个程序,如果名为Exercise12_15.txt的文件不存在,则创建该文件。使用文本I/O将随机产生的100个整数写入文件,文件中的整数由空格分开。从文件中读回数据并以升序显示数据。
285 0
|
缓存 Shell 开发工具
Shell脚本编程实践——第4关:编写一个脚本,计算txt文件中每一行单词的个数并将结果写入另一个文件
Shell脚本编程实践——第4关:编写一个脚本,计算txt文件中每一行单词的个数并将结果写入另一个文件
964 0
|
运维 Linux Shell
总结:shell命令统计字符串长度的4种实现方式
总结:shell命令统计字符串长度的4种实现方式
总结:shell命令统计字符串长度的4种实现方式
|
Python
Python之每日一练统计英文文本单词出现的个数、行数、字符数
第四题:任一个英文的纯文本文件,统计其中的单词出现的个数。 一、首先获取纯英文的文本,这里以获取“Python之禅”为例,见代码如下 # -*- coding: utf-8 -*- import sys origin = sys.stdout#标准输出 f =open('file.txt', 'w') sys.stdout = f # =================================== print 'Start of program' # 你的程序放到这里,过程中所有print到屏幕的内容都同时保存在file.txt里面了。
3358 0