81个开源大数据处理工具汇总(上),包括查询引擎/流式计算/存储
简介:Apache Drill是是一个能够对大数据进行交互分析、开源的分布式系统,且基于Google Dremel实现,它能够运行在上千个节点的服务器集群上,且能在几秒内处理PB级或者万亿条的数据记录。Drill能够帮助企业用户快速、高效地进行Hadoop数据查询和企业级大数据分析。Drill于2012年8月份由Apache推出。 从Drill官方对其架构的介绍中得知,其具有适于实时的分析和快速的应用开发、适于半结构化/嵌套数据的分析、兼容现有的SQL环境和Apache Hive等特征。另外,Drill的核心模块是Drillbit服务,该服务模块包括远程访问子模块、SQL解析器、查询优化器、任务计划执行引擎、存储插件接口(DFS、HBase、Hive等的接口)、分布式缓存模块等几部分,如下图所示: Apache?Drill官方网站>>> 八、Apache?Tajo简介:Apache Tajo项目的目的是在HDFS之上构建一个先进的数据仓库系统。Tajo将自己标榜为一个“大数据仓库”,但是它好像和之前介绍的那些低延迟查询引擎类似。虽然它支持外部表和Hive数据集(通过HCatalog),但是它的重点是数据管理,提供低延迟的数据访问,以及为更传统的ETL提供工具。它也需要在数据节点上部署Tajo特定的工作进程。 Tajo的功能包括: ?ANSI SQL兼容 Apache?Tajo官方网站>>> 九、Hive简介:hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。 Hive官方网站>>> 流式计算一、Facebook?Puma贡献者:Facebook 简介:实时数据流分析 二、Twitter Rainbird贡献者:Twitter 简介:Rainbird一款基于Zookeeper,Cassandra,Scribe,Thrift的分布式实时统计系统,这些基础组件的基本功能如下: ? Zookeeper,Hadoop子项目中的一款分布式协调系统,用于控制分布式系统中各个组件中的一致性。 ?Cassandra,NoSQL中一款非常出色的产品,集合了Dynamo和Bigtable特性的分布式存储系统,用于存储需要进行统计的数据,统计数据,并且提供客户端进行统计数据的查询。(需要使用分布式Counter补丁CASSANDRA-1072) ??Scribe,Facebook开源的一款分布式日志收集系统,用于在系统中将各个需要统计的数据源收集到Cassandra中。 ??Thrift,Facebook开源的一款跨语言C/S网络通信框架,开发人员基于这个框架可以轻易地开发C/S应用。 用处 Rainbird可以用于实时数据的统计: ?统计网站中每一个页面,域名的点击次数 ?内部系统的运行监控(统计被监控服务器的运行状态) ?记录最大值和最小值 三、Yahoo S4贡献者:Yahoo 简介:S4(Simple Scalable Streaming System)最初是Yahoo!为提高搜索广告有效点击率的问题而开发的一个平台,通过统计分析用户对广告的点击率,排除相关度低的广告,提升点击率。目前该项目刚启动不久,所以也可以理解为是他们提出的一个分布式流计算(Distributed Stream Computing)的模型。 S4的设计目标是: ·提供一种简单的编程接口来处理数据流 ·设计一个可以在普通硬件之上可扩展的高可用集群。 ·通过在每个处理节点使用本地内存,避免磁盘I/O瓶颈达到最小化延迟 ·使用一个去中心的,对等架构;所有节点提供相同的功能和职责。没有担负特殊责任的中心节点。这大大简化了部署和维护。 ·使用可插拔的架构,使设计尽可能的即通用又可定制化。 ·友好的设计理念,易于编程,具有灵活的弹性 Yahoo S4官方网站>>> 四、Twitter?Storm贡献者:Twitter 简介:Storm是Twitter开源的一个类似于Hadoop的实时数据处理框架,它原来是由BackType开发,后BackType被Twitter收购,将Storm作为Twitter的实时数据分析系统。 实时数据处理的应用场景很广泛,例如商品推荐,广告投放,它能根据当前情景上下文(用户偏好,地理位置,已发生的查询和点击等)来估计用户点击的可能性并实时做出调整。 storm的三大作用领域: 1.信息流处理(Stream Processing) Storm可以用来实时处理新数据和更新数据库,兼具容错性和可扩展性,它 可以用来处理源源不断的消息,并将处理之后的结果保存到持久化介质中。 2.连续计算(Continuous Computation) Storm可以进行连续查询并把结果即时反馈给客户,比如将Twitter上的热门话题发送到客户端。 3.分布式远程过程调用(Distributed RPC) 除此之外,Storm也被广泛用于以下方面:
Twitter?Storm官方网站>>> 迭代计算一、Apache Hama简介:Apache Hama是一个纯BSP(Bulk Synchronous Parallel)计算框架,模仿了Google的Pregel。用来处理大规模的科学计算,特别是矩阵和图计算。 ?建立在Hadoop上的分布式并行计算模型。 ?基于 Map/Reduce 和 Bulk Synchronous 的实现框架。 ?运行环境需要关联 Zookeeper、HBase、HDFS 组件。 Hama中有2个主要的模型: – 矩阵计算(Matrix package) – 面向图计算(Graph package) Apache?Hama官方网站>>> 二、Apache?Giraph代码托管地址:?GitHub 简介:Apache Giraph是一个可伸缩的分布式迭代图处理系统,灵感来自BSP(bulk synchronous parallel)和Google的Pregel,与它们 区别于则是是开源、基于 Hadoop 的架构等。 (编辑:济南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |