推广 热搜: 行业  设备    系统  参数  经纪    教师  机械  中国 

大数据平台架构02_实时数据平台

   日期:2024-11-10     作者:n19v1    caijiyuan   评论:0    移动:http://zleialh.xhstdz.com/mobile/news/5767.html
核心提示:大数据和人工智能是天然的一对最佳搭档,尤其是在实时数据方面。实时数据训练的算法效果和离线数据训练的算法效果有着天壤

大数据和人工智能是天然的一对最佳搭档,尤其是在实时数据方面。实时数据训练的算法效果和离线数据训练的算法效果有着天壤之别,实时数据训练得到的算法用到的数据就是算法正式上线后输入的数据,因此准确性有保障,是算法工程师和业务的首选。

大数据平台架构02_实时数据平台

1.整体框架

[外链图片转存失败(img-Wsz3gmMr-1566876624131)(C:UserszhangzhenquanAppDataRoamingTypora	ypora-user-images1566872271259.png)]

(1)技术四件套

实时数据平台的支撑技术主要包含四个方面,目前主流的实时数据平台也都是基于这四个方面相关的技术搭建的。

实时数据采集(如Flume

消息中间件(如Kafka

流计算框架(如Strom 、Spark 、Flink 和Beam 等

实时数据存储(如列族存储的Hbase

(2)数据来源

实时数据平台首先要保证数据来源的实时性。数据来源通常可以分为两类

数据库 日志文件

对于前者,业界的最佳实践并不是直接访问数据库抽取数据,而是会直接采集 数据库变更日志气

(3)主要技术

实时数据处理通常采用某种流计算处理框架,实时数据平台最为核心的技术是流计算。目前使用最为广泛的是Storm (不仅指原生Storm ,还包含其他类Storm 框架如JStorm 、Storm Trident 等)、Spark 和Flink 等。

2.流计算特征

(1)特征

无边界:流计算的数据源头是源源不断的,就像河水一样不停地流过来,相应地,流计算任务也需要始终运行。

触发:不同于Hadoop 离线任务是定时调度触发,流计算任务的每次计算是由源头数据触发的。触发是流计算一个非常重要的概念,在某些业务场景下,触发消息的逻辑比较复杂,对流计算挑战很大。

延迟:很显然,流计算必须能够高效地、迅速地处理数据。不同于离线Hadoop 任务 至少以分钟甚至小时计的处理延迟,流计算的延迟通常在秒甚至毫秒级,分钟级别 的延迟只在有些特殊情况下才被接受。

历史数据: Hadoop 离线任务如果发现历史某天的数据有问题,通常很容易修复问题而且重运行任务,但是对于流计算任务来说基本不可能或者代价非常大,因为首先实时流消息通常不会保存很久(一般几天, 而且保存历史的完全现场基本不可能,所以实时流计算一般只能从问题发现的时刻修复数据,历史数据是无法通过流式方 式来补的。

(2)两种实现机制

模仿离线的批处理方式,也就是采用微批处理(即m ini batch ) 。微批处理带来了吞吐量的提升,但是相应的数据延迟也会增大,基本在秒级和分钟级,典型的技术是Spark Streaming 。

另一种是原生的消息数据,即处理单位是单条数据,早期原生的流计算技术延迟低(一般在几十毫秒,但是数据吞吐量有限,典型的是原生的Storm 框架,但是随着Flink 等技术的产生和发展, 吞吐量也不再是问题。

3.几个开源框架

Storm 是最早的流计算技术和框架,也是目前最广为所知的实时数据处理技术,但是实际上还有其他的开源流计算技术,如Storm Trident 、Spark Streaming 、Samza 、Flink 、Beam 等,商业性的技术还有Google MillWheel 和亚马逊的Kinesis 等。

(1)storm

Storm 是原生的流计算框架,数据一条一条被处理,所以其数据延迟可以非常低,基本在lOOms 之内,调优的情况下甚至可以到lOms 。但是相应地,代价就是处理性能,原生Storm 的数据吞吐量一般,而且它不提供高级API ,也不支持状态的管理。数据可靠性方面, Storm 不支持exactly once 的处理,只支持实时消息的at least once 处理。

(2)Storm Trident

Trident 是对原生Storm 的一个更高层次的抽象,其最大的特点是以mini batch 的形式进行流处理。同时,Trident 简化topology 构建过程,增加了窗口操作、聚合操作或者状态管理等高级操作API 。对应于Storm 提供的at most once 可靠性, Trident 还支持exactly once 可靠性。

(3)Spark Streaming

Spark 也是目前业界比较受欢迎也比较流行的实时数据处理方案,尤其对于采用Spark生态作为数据平台解决方案的公司或者组织来说。从本质上讲, Spark Streaming 也是基于微批处理的流计算框架,即它将源头数据分成很小的批井以类似于离线batch 的方式来处理这小部分数据。不同于Storm Trident 的是,Spark Streaming 微批处理框架底层依赖于Spark Core 的RDD 实现

(4)Flink

Flink 项目开始得非常早,大概是在2008 年,但是直到2016 年才日渐受到重视并变成Apache 的顶级项目。Flink 是原生的流计算处理框架,提供高级API 、状态管理、exactly once 可靠性等,同时数据处理吞吐量也很不错,从目前社区的发展来看, Flink 也非常有活力。

本文地址:http://zleialh.xhstdz.com/news/5767.html    物流园资讯网 http://zleialh.xhstdz.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新文章
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新文章
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号