スカラ
インポートorg.apache.spark {SparkConf、SparkContext} オブジェクトWORDCOUNT { DEFメイン(引数:配列[文字列]):単位= { 。ヴァル・CONF =新しいSparkConf()setAppName( "wc_java")setMaster(「ローカル[*。 ] ") ヴァルのSC =新しいSparkContext(CONF) ヴァル線= sc.textFile(" H:/server.properties ") ヴァルRDD1 = lines.flatMap(ライン=> line.split("「)) ヴァルtotalLength = RDD1。地図(ワード=>(単語、1)) ヴァルtotal_KV = totalLength.reduceByKey(_ _ +) total_KV.collect() total_KV.foreach(のprintln) } }
ジャワ
輸入org.apache.spark.SparkConf。 輸入org.apache.spark.SparkContext; 輸入org.apache.spark.api.java.JavaPairRDD; 輸入org.apache.spark.api.java.JavaRDD; 輸入org.apache.spark.api.java.JavaSparkContext; 輸入org.apache.spark.api.java.function.FlatMapFunction。 輸入org.apache.spark.api.java.function.Function2。 輸入org.apache.spark.api.java.function.PairFunction。 輸入scala.Tuple2。 輸入はjava.util.ArrayList; インポートするjava.util.Iterator; 輸入はjava.util.List; パブリッククラスWordCountJava { パブリック静的無効メイン(文字列[] args){ //创建SparkConf对象 SparkConf CONF =新しいSparkConf()。 conf.setAppName( "WordCountJava2")。 conf.setMaster( "ローカル"); //创建JavaのSC JavaSparkContext SC =新しいJavaSparkContext(CONF)。 //加载文本文件 JavaRDDの<string> RDD1 = sc.textFile( "D:/scala//test.txt")。 //压扁 JavaRDD <文字列> RDD2 = rdd1.flatMap(新しいFlatMapFunction <文字列、文字列>(){ 公共イテレータ<文字列>コール(String s)文字例外{スロー 一覧<文字列>リスト=新しいのArrayList <文字列>() ; String []型ARR = s.split(」「); (文字列SS:ARR)のための{ list.add(SS); } } })。 //映射、単語- >(ワード、 JavaPairRDD <文字列、整数> RDD3 = rdd2.mapToPair(新しいPairFunction <文字列、文字列、整数>(){ 公共Tuple2 <文字列、整数>コール(文字列S)例外{スロー 新しいTuple2 <文字列、整数>を返す(複数可、1); } })。 //低減化简 JavaPairRDD <文字列、整数> rdd4 = rdd3.reduceByKey(新しい機能2 <整数、整数、整数>(){ 公共の整数コール(整数V1、整数V2)が例外{スロー リターンV1 + V2を; } }) ; // リスト<Tuple2 <文字列、整数>>一覧= rdd4.collect(); (Tuple2 <文字列について、 System.out.println(t._1()+ ":" + t._2()); } } }