(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.自己创建应该文件夹(写入数据,注意每行不要有空格)在虚拟机里面,并复制路径
2.运行
结果如下: