栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

编写代码实现:单词计数。对文档中的单词计数(注意:不包括符号),并把单词计数超过3的结果进行保存。

编写代码实现:单词计数。对文档中的单词计数(注意:不包括符号),并把单词计数超过3的结果进行保存。

package thisterm;

import java.util.Arrays;
import java.util.List;

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;

import scala.Tuple2;

public class wordcount2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SparkConf sparkConf = new SparkConf().setAppName("PeopleInfoCalculator").setMaster("local");
	    JavaSparkContext sc = new JavaSparkContext(sparkConf);
	    JavaRDD dataFile = sc.textFile
	    		("file:///home/gyq/下载/spark-2.3.2-bin-hadoop2.7/data/words.txt".toLowerCase());//*是所有文件内容
	    JavaRDD rdd1=dataFile.map(f->f.trim().
	    		replaceAll("[\pP+~$`^=|<>~`$^+=|<>¥×]" , ""));//trim()去首位空格replaceAll将奇怪的符号去掉
	    JavaRDD rdd2=rdd1.map(f->f.replaceAll("\s+", " "));//将连续的空格变成一个空格
	   JavaRDD rdd3=rdd2.flatMap(f->Arrays.asList(f.split(" ")).iterator());//用空格分开
	  
	   JavaRDD rdd5=rdd3.filter(f->{
		   if(f.length()==0)
			  return false;
		   else
			   return true;
	   });
	   JavaPairRDD rdd6=rdd5.mapToPair(f->new Tuple2<>(f.trim(),1));
	   JavaPairRDD rdd7=rdd6.reduceByKey((x,y)->x+y);
	  JavaPairRDD rdd8=rdd7.mapToPair(f->new Tuple2<>(f._2,f._1));
	 JavaPairRDD rdd9=rdd8.sortByKey(false,2).filter(f->f._1>3);//sortByKey根据key排序
	 
	 List> rdd10=rdd9.collect();
	// rdd9.saveAsTextFile("file:///home/gyq/下载/spark-2.3.2-bin-hadoop2.7/data/r大于3的.txt");
	 for(Tuple2 aa:rdd10) {
			System.err.println(aa);
		}
sc.stop();
	}

}

 保存到电脑里面

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/762338.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号