标签:reduce ast tin rgs red 复数 csharp ack 程序
package my.scala
import org.apache.spark.{SparkConf, SparkContext}object case2 { def main(args: Array[String]): Unit = { val conf = new SparkConf().setMaster("local").setAppName("reduce") val sc = new SparkContext(conf) sc.setLogLevel("ERROR") //获取数据 val two = sc.textFile("hdfs://192.168.85.128:9000/quchong") two.filter(_.trim().length>0) //需要有空格。 .map(line=>(line.trim,""))//全部值当key,(key value,"") .groupByKey()//groupByKey,过滤重复的key value ,发送到总机器上汇总 .sortByKey() //按key value的自然顺序排序 .keys.collect().foreach(println) //所有的keys变成数组再输出 //第二种有风险 two.filter(_.trim().length>0) .map(line=>(line.trim,"1")) .distinct() .reduceByKey(_+_) .sortByKey() .foreach(println) //reduceByKey,在本机suffle后,再发送一个总map,发送到一个总机器上汇总,(汇总要压力小) //groupByKey,发送本机所有的map,在一个机器上汇总(汇总压力大) //如果数据在不同的机器上,则会出现先重复数据,distinct,reduceBykey,只是在本机上去重,谨慎一点的话,在reduceByKey后面需要加多一个distinct }}标签:reduce ast tin rgs red 复数 csharp ack 程序
原文地址:https://www.cnblogs.com/lishengming00/p/12275158.html