过雁

--每天都被梦想唤醒--

   :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2015年2月5日

摘要: BlockGenerator和RateLimiter其实很简单,但是它包含了几个很重要的属性配置的处理,所以记录一下。/** * Generates batches of objects received by a * [[org.apache.spark.streaming.receiver.Receiver]] and puts them into appropriately * named ... 阅读全文
posted @ 2015-02-05 17:50 过雁 阅读(407) 评论(0) 推荐(0) 编辑

摘要: InputDStream的继承关系。他们都是使用InputDStream这个抽象类的接口进行操作的。特别注意ReceiverInputDStream这个类,大部分时候我们使用的是它作为扩展的基类,因为它才能(更容易)使接收数据的工作分散到各个worker上执行,更符合分布式计算的理念。所有的输入流都某个时间间隔将数据以block的形式保存到spark memory中,但以spark core不同的... 阅读全文
posted @ 2015-02-05 17:17 过雁 阅读(1205) 评论(0) 推荐(0) 编辑

摘要: DStreamGraph有点像简洁版的DAG scheduler,负责根据某个时间间隔生成一序列JobSet,以及按照依赖关系序列化。这个类的inputStream和outputStream是最重要的属性。spark stream将动态的输入流与对流的处理通过一个shuffle来连接。前面的(shuffle map)是input stream,其实是DStream的子类,它们负责将收集的数据以bl... 阅读全文
posted @ 2015-02-05 14:46 过雁 阅读(734) 评论(0) 推荐(0) 编辑

摘要: 对于spark streaming来说,receiver是数据的源头。spark streaming的框架上,将receiver替换spark-core的以磁盘为数据源的做法,但是数据源(如监听某个tcp链接)显然不是可靠且不知道数据什么时候准备好的,所以spark streaming使用shuffle隔离receiver与后面的数据处理。使用receiver模拟shuffle task将数据按... 阅读全文
posted @ 2015-02-05 14:45 过雁 阅读(909) 评论(0) 推荐(0) 编辑

摘要: DStream是类似于RDD概念,是对数据的抽象封装。它是一序列的RDD,事实上,它大部分的操作都是对RDD支持的操作的封装,不同的是,每次DStream都要遍历它内部所有的RDD执行这些操作。它可以由StreamingContext通过流数据产生或者其他DStream使用map方法产生(与RDD一样)time属性对DStream而言非常重要,DStream里面的RDD就是通过某个时间间隔产生的,... 阅读全文
posted @ 2015-02-05 14:42 过雁 阅读(663) 评论(0) 推荐(0) 编辑

摘要: StreamingContext 和SparkContex的用途是差不多的,作为spark stream的入口,提供配置、生成DStream等功能。总体来看,spark stream包括如下模块:/** * Main entry point for Spark Streaming functionality. It provides methods used to create * [[org.a... 阅读全文
posted @ 2015-02-05 14:41 过雁 阅读(853) 评论(0) 推荐(0) 编辑