位置:首页 > 分类聚合

Spark Streaming:大规模流式数据处理

Spark Streaming是大规模流式数据处理的新贵,将流式计算分解成一系列短小的批处理作业。本文阐释了Spark Streaming的架构及编程模型,并结合实践对其核心技术进行了深入的剖析,给出了具体的应用场景及优化方案。提到Spark Stream   查看详细

1.  spark RDD 相关需求1.1.   选出最受欢迎的老师小牛学堂官网有学科,每个学科有很多老师授课,选出每个学科中被访问量最多的那个老师数据样本http://www.xiaoniu.com/bigdata/laozhaohttp://www.xiaoniu.com/bigdata/laozhaohttp://www.xiaoni

1.  spark RDD 高级应用1.1.   JdbcRDD直接读取数据库bigdata数据库有一个members表数据如下:代码:val sc = new SparkContext(new SparkConf().setAppName("JdbcRDDDemo").setMaster("local[*]")) sc.setLogLevel("WARN")   val jdbcRDD =

1.  load&save1.1.   从内存创建RDDval   c = sc.parallelize(List("Gnu", "Cat", "Rat", "Dog", "Gnu", "Rat"), 2)   c.collectres0: Array[String] = Array(Gnu, Cat,   Rat, Dog, Gnu, Rat)def parallelize[T: Cla

1.  debug1.1.toDebugString查看RDD依赖关系的debug调试信息val a = sc.parallelize(1 to 9, 3)   val b = sc.parallelize(1 to 3, 3)   val c = a.subtract(b) c.toDebugString  res59: String =   (3) MapPartitionsRDD[119] at subtract at <console>:28 []    |&n

1.  cache&checkpoint1.1.   persist,cache,unpersistRDD通过persist方法或cache方法可以将前面的计算结果缓存,但是并不是这两个方法被调用时立即缓存,而是触发后面的action时,该RDD将会被缓存在计算节点的内存中,并供后面重

1.  RDD Action API动作含义reduce(func)通过func函数聚集RDD中的所有元素,这个功能必须是课交换且可并联的collect()在驱动程序中,以数组的形式返回数据集的所有元素count()返回RDD的元素个数first()返回RDD的第一个元素(类似于take(1)

1.  Partitioner源码1.1.   abstract classabstract class Partitioner extends Serializable {   def numPartitions: Int   def getPartition(key: Any): Int }1.2.   Partitioner伴生对象内的方法def defaultPartitioner(rdd: RDD[_], others: RDD[_]*): Partitioner = { &

内容略长,请自行搜索查看:1.  RDD Transformation APIRDD中的所有转换都是延迟加载的,也就是说,它们并不会直接计算结果。相反的,它们只是记住这些应用到基础数据集(例如一个文件)上的转换动作。只有当发生一个要求

1.1.   RDD的依赖关系RDD和它依赖的父RDD(s)的关系有两种不同的类型,即窄依赖(narrow dependency)和宽依赖(wide dependency)。 1.1.1.   窄依赖窄依赖指的是每一个父RDD的Partition最多被子RDD的一个Partition使用总结: