Storm相对Hadoop的七大优点
来源:互联网 发布:淘宝旺旺买家苹果版 编辑:程序博客网 时间:2024/06/06 05:13
转载自:http://blog.csdn.net/hljlzc2007/article/details/12911467
在大数据处理方面相信大家对hadoop已经耳熟能详,基于Google Map/Reduce来实现的Hadoop为开发者提供了map、reduce原语,使并行批处理程序变得非常地简单和优美。同样,Storm也为大数据的实时计算提供了一些简单优美的原语,这大大降低了开发并行实时处理的任务的复杂性,帮助你快速、高效的开发应用。
除了用java实现spout和bolt,你还可以使用任何你熟悉的编程语言来完成这项工作,这一切得益于Storm所谓的多语言协议。多语言协议是Storm内部的一种特殊协议,允许spout或者bolt使用标准输入和标准输出来进行消息传递,传递的消息为单行文本或者是json编码的多行。
Storm支持多语言编程主要是通过ShellBolt, ShellSpout和ShellProcess这些类来实现的,这些类都实现了IBolt 和 ISpout接口,以及让shell通过java的ProcessBuilder类来执行脚本或者程序的协议。
可以看到,采用这种方式,每个tuple在处理的时候都需要进行json的编解码,因此在吞吐量上会有较大影响
在Storm集群中真正运行topology的主要有三个实体:工作进程、线程和任务。Storm集群中的每台机器上都可以运行多个工作进程,每个工作进程又可创建多个线程,每个线程可以执行多个任务,任务是真正进行数据处理的实体,我们开发的spout、bolt就是作为一个或者多个任务的方式执行的。
因此,计算任务在多个线程、进程和服务器之间并行进行,支持灵活的水平扩展。
如果在消息处理过程中出了一些异常,Storm会重新安排这个出问题的处理单元。Storm保证一个处理单元永远运行(除非你显式杀掉这个处理单元)。
Storm可以保证spout发出的每条消息都能被“完全处理”,这也是直接区别于其他实时系统的地方,如S4。
Storm有一种“本地模式”,也就是在进程中模拟一个Storm集群的所有功能,以本地模式运行topology跟在集群上运行topology类似,这对于我们开发和测试来说非常有用。
- Storm相对Hadoop的七大优点
- Storm及Hadoop比较 && Strom优点
- Storm及Hadoop比较 && Strom优点
- Storm及Hadoop比较 && Strom优点
- ARC相对MRC的优点
- Hadoop是什么以及Hadoop的优点
- STORM与HADOOP的比较
- Storm与Hadoop的比较
- STORM与HADOOP的比较
- storm与hadoop的对比
- hadoop与storm的区别
- hadoop storm
- hadoop与storm的一点区别
- 实时的hadoop--storm
- hadoop、storm和spark的区别、比较
- hadoop、storm和spark的区别、比较
- hadoop、storm和spark的区别、比较
- hadoop、storm和spark的区别、比较
- Oracle 补丁体系 及 opatch 工具介绍
- 10周项目2
- 面向程序员的数据库访问性能优化法则
- 安全联盟:双12购物需认准网站认证标识
- 关于不同intent之间跳转,值传递中startActivityForResult()的用法浅析
- Storm相对Hadoop的七大优点
- SMART原则
- Oracle中Lpad函数和Rpad函数的用法
- sql 优化
- eclipse启动tomcat
- U_BOOT_CMD 分析
- error: more than one device and emulator
- 读书笔记:持续集成软件质量改进和风险降低之道-第三章 和第四章
- Sicily2014