Spark中分区使用
来源:互联网 发布:淘宝宝贝描述图片尺寸 编辑:程序博客网 时间:2024/06/09 23:17
import java.net.URLimport org.apache.spark.{HashPartitioner, Partitioner, SparkConf, SparkContext}import scala.collection.mutable/** * Created by root on 2016/5/18. */object UrlCountPartition { def main(args: Array[String]) { val conf = new SparkConf().setAppName("UrlCountPartition").setMaster("local[2]") val sc = new SparkContext(conf) //rdd1将数据切分,元组中放的是(URL, 1) val rdd1 = sc.textFile("c://itcast.log").map(line => { val f = line.split("\t") (f(1), 1) }) val rdd2 = rdd1.reduceByKey(_ + _) val rdd3 = rdd2.map(t => { val url = t._1 val host = new URL(url).getHost (host, (url, t._2)) }) val ints = rdd3.map(_._1).distinct().collect() val hostParitioner = new HostParitioner(ints)// val rdd4 = rdd3.partitionBy(new HashPartitioner(ints.length)) val rdd4 = rdd3.partitionBy(hostParitioner).mapPartitions(it => { it.toList.sortBy(_._2._2).reverse.take(2).iterator }) rdd4.saveAsTextFile("c://out4") //println(rdd4.collect().toBuffer) sc.stop() }}/** * 决定了数据到哪个分区里面 * @param ins */class HostParitioner(ins: Array[String]) extends Partitioner { val parMap = new mutable.HashMap[String, Int]() var count = 0 for(i <- ins){ parMap += (i -> count) count += 1 } override def numPartitions: Int = ins.length override def getPartition(key: Any): Int = { parMap.getOrElse(key.toString, 0) }}
阅读全文
0 0
- Spark中分区使用
- SPARK中实现自定义分区
- Spark中mapPartitions使用
- Spark成长之路(2)-RDD中分区依赖系统
- [Spark]Django项目中使用Spark(pyspark)
- Spark自定义分区(Partitioner)
- Spark自定义分区(Partitioner)
- Spark自定义分区(Partitioner)
- Spark-RDD 分区
- Spark自定义分区(Partitioner)
- Spark自定义分区(Partitioner)
- Spark分区器HashPartitioner
- spark RDD 分区
- Spark Partition 分区记录
- spark rdd 自动分区
- Spark Partitioner自定义分区
- Spark自定义分区(Partitioner)
- spark自定义分区
- android 在xml中管理图片资源和调用方法
- JAVA设计模式九之状态模式State
- Shiro关于JSESSIONID失效报错问题,org.apache.shiro.session.UnknownSessionException: There is no session with i
- Duopoly UVALive
- 清理sqlserver日志
- Spark中分区使用
- python 多进程 —— multiprocessing.Pool
- oracle中MD5加密
- SASS:CSS预处理器
- java 小数转换成百分比显示
- Unity5.0新特性------unity内部:内存 和 性能(以及Unity5的升级优化)
- 【内存】Unity游戏Mono内存管理与泄漏
- Hello Word !
- winform 热键 kill指定进程