大数据架构简述(三):流处理、批处理、交互式查询
来源:互联网 发布:远光软件怎么样 编辑:程序博客网 时间:2024/06/07 05:40
我们将大数据处理按处理时间的跨度要求分为以下几类
基于实时数据流的处理,通常的时间跨度在数百毫秒到数秒之间
基于历史数据的交互式查询,通常时间跨度在数十秒到数分钟之间
复杂的批量数据处理,通常的时间跨度在几分钟到数小时之间
1.流处理
流是一种数据传送技术,它把客户端数据变成一个稳定的流。正是由于数据传送呈现连续不停的形态,所以流引擎需要连续不断处理数据
流处理的主要应用场景:金融领域和电信领域
1.1 Stom
Storm是一个免费开源、分布式、高容错的实时计算系统。
Storm主要分为两种组件Nimbus和Supervisor。这两种组件都是快速失败的,没有状态。任务状态和心跳信息等都保存在Zookeeper上的,提交的代码资源都在本地机器的硬盘上。
1)Nimbus负责在集群里面发送代码,分配工作给机器,并且监控状态。全局只有一个。
2)Supervisor会监听分配给它那台机器的工作,根据需要启动/关闭工作进程Worker。每一个要运行Storm的机器上都要部署一个,并且,按照机器的配置设定上面分配的槽位数。
3)Zookeeper是Storm重点依赖的外部资源。Nimbus和Supervisor甚至实际运行的Worker都是把心跳保存在Zookeeper上的。Nimbus也是根据Zookeerper上的心跳和任务运行状况,进行调度和任务分配的。
4)Storm提交运行的程序称为Topology。
5)Topology处理的最小的消息单位是一个Tuple,也就是一个任意对象的数组。
Topology由Spout和Bolt构成。Spout是发出Tuple的结点。Bolt可以随意订阅某个Spout或者Bolt发出的Tuple。Spout和Bolt都统称为component。
1.2 Spark Streaming
Spark Streaming是一种构建在Spark上的实时计算框架,它扩展了Spark处理大规模流式数据的能力。
Spark Streaming的基本原理是将输入数据流以时间片(秒级)为单位进行拆分,然后以类似批处理的方式处理每个时间片数据
2.交互式查询(Adhoc Query)
在商业智能领域少量更新和大量扫描分析场景,目前是Impala+Kudu/Hive/Spark SQL/Greenplum Mpp数据库在混战。
3.批处理技术
3.1 MapReduce(Hadoop)
MapReduce模式的主要思想是自动将一个大的计算拆解成Map和Reduce
3.2 Spark
Spark的中间数据放到内存中,对于迭代运算效率更高。
Spark更适合于迭代运算比较多的ML和DM运算。因为在Spark里面,有RDD的抽象概念。
Spark比Hadoop更通用
Spark提供的数据集操作类型有很多种,不像Hadoop只提供了Map和Reduce两种操作。比如map, filter, flatMap, sample, groupByKey, reduceByKey, union, join, cogroup, mapValues, sort,partionBy等多种操作类型,Spark把这些操作称为Transformations。同时还提供Count, collect, reduce, lookup, save等多种actions操作。
- 大数据架构简述(三):流处理、批处理、交互式查询
- 大数据架构简述(一):大数据的本质
- 大数据架构简述(二):数据获取
- JDBC处理大数据批处理
- 大数据架构及流处理架构
- 大数据架构简述(五):资源管理、存储、云
- PHP 批处理 处理大数据 长时间处理
- 大数据架构思考(三)
- JavaWeb-JDBC处理大数据、批处理、事物
- 大数据架构简述(四):机器学习和数据挖掘
- 大数据架构和模式(三)理解大数据解决方案的架构层
- 大数据架构和模式(三)理解大数据解决方案的架构层
- 大数据架构和模式(三)理解大数据解决方案的架构层
- 大数据架构和模式(三)理解大数据解决方案的架构层
- JDBC处理大数据、二进制数据和批处理
- jdbc_分页查询,大数据,批处理,存储过程
- 大数据简述
- 简述大数据
- H5响应式自助建站_成功之选!
- Linux thinkphp5 多站点配置
- 聊聊我的第一次合伙创业!致奋斗路上的码农们
- 奇怪的Java题:为什么1000 == 1000返回为False,而100 == 100会返回为True?
- SAP HANA如何在存储过程中使用自定义的table type
- 大数据架构简述(三):流处理、批处理、交互式查询
- Android 4.4及以上版本写入外置SD卡问题
- centos网络配置实例
- 社交系统ThinkSNS+ 0.7.4最新研发播报
- MySQL 的 20+ 条最佳实践
- 输入框只能输入数字,否则自动清空||只能输入英文和数字
- iOS内存管理(一)
- Charles: 抓取Https包
- 全功能zing