最近在了解离线系统,根据自己的了解,以及参考网上的相关资料,总结了相关知识,供刚入门的同学们了解。
离线计算,就是批量获取数据、批量传输数据、周期性批量计算数据、数据展示,相信大家在了解实时计算的时候肯定对离线计算有一定的了解了,比如Sqoop批量导入数据、HDFS批量存储数据、MapReduce批量计算数据、Hive批量计算数据、任务调度等技术(zakaban),这些都是离线计算
流式计算,数据实时产生、数据实时传输、数据实时计算、实时展示。Flume实时获取数据、Kafka/metaq实时数据存储、Storm/JStorm实时数据计算、Redis实时结果缓存、持久化存储(mysql),总结一句话就是将源源不断产生的数据实时收集并实时计算,尽可能快的得到计算结果
Flume实时采集,低延迟
Kafka消息队列,低延迟
Storm实时计算,低延迟
Redis实时存储,低延迟
Storm用来实时处理数据,特点:低延迟、高可用、分布式、可扩展、数据不丢失。提供简单容易理解的接口,便于开发。海量数据?数据类型很多,产生数据的终端很多,处理数据能力增强。相对于我们之前的Hadoop技术,我们可以发现Storm用于实时计算,Hadoop用于离线计算,Storm处理的数据保存在内存中,源源不断;Hadoop处理的数据保存在文件系统中,一批一批。Storm的数据通过网络传输进来;Hadoop的数据保存在磁盘中,不过有一点 Storm与Hadoop的编程模型相似,如图说明
Job:任务名称
JobTracker:项目经理
TaskTracker:开发组长、产品经理
Child:负责开发的人员
Mapper/Reduce:开发人员中的两种角色,一种是服务器开发、一种是客户端开发
Topology:任务名称
Nimbus:项目经理
Supervisor:开组长、产品经理
Worker:开人员
Spout/Bolt:开人员中的两种角色,一种是服务器开发、一种是客户端开发
比如说,我们分析股市的行情,数据产生,就需要低延迟,实时计算的需求,所以storm是一个比较不错的解决方案。具体应用场景如下:
我们对上述组件进行具体说明一下。
本文地址:https://blog.csdn.net/uniqueweimeijun/article/details/107552705
如对本文有疑问, 点击进行留言回复!!
NullPointerException: Attempt to invoke virtual method ‘android.content.res.XmlResourceParser androi
关于启动appium-desktop,报错:Cannot extract apk info using apkanalyzer. Falling back to aapt. Original ....
Gradle 发布共享库——如何通过Gradle发布Android依赖库(aar)到 jitpack 公共仓库
Gradle 发布共享库——如何通过Gradle发布java依赖库(jar)到 jitpack 公共仓库(—)
网友评论