微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spark Streaming实时流处理项目实战(七)Spark Streaming入门

Spark Streaming入门

概述

Spark Streaming是核心Spark API的扩展,可实现实时数据流的可伸缩,高吞吐量,容错流处理。数据可以从像卡夫卡,室壁运动,或TCP套接字许多来源摄入,并且可以使用与像高级别功能表达复杂的算法来处理map,reduce,join和window。最后,可以将处理后的数据推送到文件系统,数据库和实时仪表板。实际上,您可以在数据流上应用Spark的 机器学习和 图形处理算法。

在这里插入图片描述

在内部,它的工作方式如下。Spark Streaming接收实时输入数据流,并将数据分成批次,然后由Spark引擎处理,以成批生成最终结果流。

在这里插入图片描述

<Spark Streaming提供了称为离散化流或DStream的高级抽象,它表示连续的数据流。可以根据来自Kafka和Kinesis等来源的输入数据流来创建DStream,也可以通过对其他DStream应用高级操作来创建DStream。在内部,DStream表示为RDD序列 。
官方链接

Spark Streaming个人定义:将不同的数据源的数据经过Spark Streaming处理之后将结果集输出到外部文件系统

特点:

  • 低延时
  • 能从错我中高效的恢复:fault-tolerant
  • 能够运行在成百上千的节点
  • 能够将批处理、机器学习、图计算等子框架和Spark Streaming综合起来使用

架构:

在这里插入图片描述

从上图可以看出,只要安装了spark后,Spark Streaming不需要单独安装
验证了 One stack to rule them all:一栈式解决

应用场景

  • 交易过程中金融欺诈检测
  • 实时电子传感器
  • 电商产品推荐
  • web日志实时监控

在这里插入图片描述

集成Spark生态系统的使用

在这里插入图片描述

  • Spark Streaming 与 Spark Core 结合使用

    在这里插入图片描述

  • Spark Streaming 与 MLlib结合使用

    在这里插入图片描述

  • Spark Streaming 与 Spark sql结合使用

    在这里插入图片描述

Spark Streaming发展史

在这里插入图片描述

  • 2011年伯克利大学提出
  • 2012年重写了spark core的大部分代码
  • 2014年发布稳定版本0.9版本(Spark Streaming正式毕业)

词频统计

  • 使用spark-submit执行
  • 使用spark-shell执行

spark源码地址:https://github.com/apache/spark/tree/master/examples/src/main
选择scala版本,resources下是测试数据

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐