开发者学堂课程【大数据实时计算框架 Spark 快速入门:spark streaming初始_2】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/100/detail/1720
spark streaming 初始_2
内容简介:
一、spark streaming 介绍
二、具体内容
一、spark streaming 介绍
天猫双十一用的不是 spark steaming 用的是变形,是大数据计算的典型实时应用,春运实时迁徙要把每时每刻春运人流的走向画出来看箭头的粗细。
实时大屏幕的展现,流式计算框架有 storm,storm 是纯的流式计算 trident ,变成了一个微批计算,是 storm 里面高级的 API 。
① spark streaming ,是从批处理变换来的变换成微处理。
② streaming , samza ,可以忽略不管 flink ,是纯的流式计算框架,可以往批处理计算观,任何的批处理都可以改成流处理,一个海量的文本可以一条一条的发送,那么批处理就可以改成流处理。
③spark streaming 的架构,他里面的架构就是 spark core 的架构,流式计算时可以弄成一个微批处理,就是弄成多个批处理,每一个同样是提交 job ,有 driver ,要申请资源,分配到 executor 里面去来计算,然后把task返回到driver里面去,下一个微批处理还是一样的流程,
④ spark streaming 可以介入很多数据源, Kafka , flume , HDFS/S3,kinesis,twitter,spark streaming, 还可以把结果写到很多地方去,因为它本来就说 spark core,HDFS,databases,dashboards, 在这里面直接展现就行,然后spark streaming 会把 input data stream 源源不断的接起来,弄成一个 batches of input data ,弄成一批一批的顺序,按时间进行切割,切割成每一个 RDD ,然后往 spark engine 里面传递,然后进行计算,转化成最终结果的 RDD ,是源源不断跑的程序,在一定的时间开始运行。
二、具体内容
具体怎么实现:
①在 spark core 里面读一个数据源,直接过来是 RDD ,在 spark streaming 里面读一个数据源,过来就是 Dstream。
②一个数据流, Dstream 如果是原数据的话, Dstream 里面的每一个元素,它是,一个个 RDD , RDD 是一个抽象的概念,一个 RDD 是多个组成, RDD 里面的 filter 会把算子应用到 RDD 里面的每一个元素里面去, Dstream 它里面的每一个元素是 RDD ,把每一个算子应用到 RDD 的元素上面去,最终都会落到元素上面去,转化成新的 Dstream ,由新的之前的 RDD 转过来, spark streaming 比较弱,一个真正的流处理不是微批处理, spark streaming 延迟是妙级。
③如果给它打六十分, spark streaming 是在整个 spark 技术站里面的,可以很好的去无缝整合 spark SQl,MLlb, 我的数据读 kafka ,读 akka ,读这些流式数据进来,封装一个 RDD ,这个 RDD 通过数据弄成一个模型也没问题,通过加载一个模型过来,把 RDD 模型传给他,然后进行预测,也可以,RDD 是一个批次一个批次的过来,在整个技术站里面就是满分,可以直接无缝整合。
④ streamingwordcount 第一行来一个 sparkconf ,不再是javastreamingcontext ,创建该对象类似于 spark core 中的 javasparkcontext ,类似于 sparkSQL 中的 SQLcontext。
⑤该对象除了接受 sparkconf 对象,还接收一个 batchinterval 参数,就是说,每手机多长时间的数据划分为一个 batch 既 RDD 去执行
⑥ 这里 durations 可以设置分钟,毫秒,秒。
⑦首先创建输入 DStream ,代表一个数据源比如从 socket 或 Kafka 来持续不断的进入实时数据流。
⑧创建一个监听 socket 数据量, RDD 里面的每一个元素就是一行行的文本。