当前位置:   article > 正文

spark中使用partitioner

java partitioner
  1. import org.apache.spark._
  2. import SparkContext._
  3. import org.apache.spark.SparkConf
  4. import java.util.Date
  5. import java.text.SimpleDateFormat
  6. import org.apache.hadoop.io.Text
  7. import org.apache.hadoop.mapred.TextOutputFormat
  8. import org.apache.spark.Partitioner
  9. object partitioner {
  10.  
  11.   def main(args: Array[String]): Unit = {
  12.         val time = new SimpleDateFormat("MMddHHmm").format(new Date());
  13.     val sparkConf =  new SparkConf().setAppName("wordcount_"+time)
  14.     
  15.     sparkConf.set("mapreduce.framework.name""yarn");
  16.     val sc =new SparkContext(sparkConf)
  17.     
  18.     val textFile = sc.textFile(
  19.         "hdfs://namenode:9000/data/mapreduce/chuping/test_in_1/new5"1).cache()
  20.     
  21.     val result = textFile.flatMap (line => line.split("\t") ).
  22.     map (word => (word,1)).reduceByKey(new testPartitioner, _+_)
  23.     
  24.     result.saveAsTextFile("hdfs://namenode:9000/data/zk/test/partitioner"+time)
  25.     sc.stop()
  26.   }
  27. }
  28. class testPartitioner extends Partitioner{
  29.           val numPartitions = 3   
  30.           def getPartition(keyAny)=1   指定到第几个reduce
  31. }

这里的程序只是一个测试的程序,使用的也是一个count而已,无法体现partitioner的实际作用,但是在实际生产中,partitioner的运用比比皆是

转载于:https://my.oschina.net/ssrs2202/blog/493942

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/727494
推荐阅读
相关标签
  

闽ICP备14008679号