SparkStreaming项目实战系列——1.实时流概述

本文介绍了实时流处理技术的基本概念及其与离线处理的区别,分析了实时流处理的产生背景及应用场景,并对比了几种主流的实时流处理框架。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SparkStreaming项目实战系列——实时流概述

Spark官网关于Spark2.2.0需要以下条件:
maven3.3.9+
Java8+
Spark2.2.0

1.初识实时流处理

1.1业务现状分析

  • 需求:统计主站每个(制定)课程访问的客户端、地域信息分布
    • 地域:ip转换 SparkSQL项目实战
    • 客户端:useragent获取 Hadoop基础课程
    • 如上两个操作:采用离线操作(Map/Reduce操作)的方式进行统计
  • 实现步骤
    • 课程编号。ip信息,useragent
    • 进行相应的统计分析操作:MapReduce、Spark
  • 项目架构
    • 日志收集:Flume
    • 离线分析:MapReduce/Spark
    • 图形化展示结果
  • 问题
    • 小时级别
    • 10小时-秒级别,由于MR都是进程级别的,要产生和销毁,需要占用时间空间,不能实时处理
  • 如何解决?即是实时流处理引入的目标。

1.2 实时流处理产生背景

  • 时效性高
  • 数据量大(必须以实时的方式处理原始的数据)

1.3 实时流处理概述

  • 实时计算(响应时间比较短,离线批处理没有时间的限制)
  • 流式计算(在不断产生的数据流上进行的计算)
  • 实时流式计算

1.4 离线计算与实时计算对比

  • 数据来源
    • 离线:HDFS上的历史数据,数据量比较大
    • 实时:消息队列(kafka),实时新增/修改记录过来的某一笔数据
  • 处理过程
    • 离线:MapReduce:map+reduce
    • 实时:Spark(DStream/SS)
  • 处理速度
    • 离线:慢
    • 实时:快速
  • 进程
    • 离线:启动+销毁
    • 实时:7*24

1.5实时流处理框架对比

  • Apache Storm
  • Apache Spark Streaming(并不会像Storm每一次处理一条数据更新,而是按照时间间隔拆分为小的批处理,严格意义上是一个微小时间间隔的批处理)
  • IBM Stream
  • Yahoo S4
  • LinkedIn Kafka (一个分布式的流平台)
  • flink

1.6实时流处理架构与技术选型

 Web:
  app:
  ---------------------
  WebServer:
  /var/log/access.log
  ---------------------
  Flume:日志收集
  Kafka:加一层消息队列应付数据高峰期
  Spark/Storm: 
  RDBMS/NoSQL:
  可视化显示:

1.7实时流处理适用场景在企业的应用

  • 电信行业
  • 电商行业
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值