原做:Tynejpython
翻译:way算法
市场上有许多可用的框架。其中一些相对更受欢迎,例如Spark,Hadoop,Hive和Storm,普雷斯托(Presto)在效用指数上得分很高,而Flink具备巨大的潜力。另外还有一些须要说起的其余内容,例如Samza,Impala,Apache Pig等大数据组件。在这里,咱们将讨论其中的一些安全
一:Apache Hadoop微信
Hadoop是基于Java的平台。这是一个开源框架,可跨集群排列的一组硬件机器提供批处理数据处理和数据存储服务。Hadoop不只适用于可靠、可扩展和分布式的计算,同时也能够用做通用文件存储,它能够存储和处理PB级别的信息。Hadoop由三个主要组件组成:并发
HDFS文件系统-负责Hadoop集群中的数据存储;app
MapReduce系统-用于处理集群中的大量数据;框架
YARN-它是处理资源管理的核心。机器学习
优势分布式
它提供了经济高效的解决方案,高吞吐量,多语言支持以及与大数据服务中大多数新兴技术的兼容性。还经过其出色的故障处理机制支持高可伸缩性,容错能力,更适合研发,高可用性。工具
缺点
它包含安全漏洞的漏洞,不执行内存中的计算,所以会遭受处理开销,不适用于流处理和实时处理,这是处理大量小文件的问题。
像Amazon,Adobe,AOL,阿里巴巴,EBay和Facebook这样的组织也使用Hadoop。
二: Apache Spark
Spark框架由加利福尼亚大学伯克利分校成立。它是具备改进的数据流处理的批处理框架。借助完整的内存计算以及处理优化,它保证了极其快速的集群计算系统。
Spark框架由五层组成。
HDFS和HBASE:它们构成了数据存储系统的第一层。
YARN和Mesos:它们造成资源管理层。
核心引擎:这造成了第三层。
库:构成第四层,其中包含用于流查询处理时的SQL查询的Spark SQL,用于处理图形数据的GraphX和Spark R实用程序以及用于机器学习算法的MLlib。
第五层包含一个应用程序接口,例如Java、Scala,固然还有python。
Spark能够做为独立的集群与功能强大的存储层一块儿使用,也能够与Hadoop进行一致的集成。它也支持一些流行的语言,例如Python,R,Java和Scala。
优势
速度快
使用方便
进阶分析
天然动态
多种语言
Apache Spark功能强大
增长对大数据的访问
对Spark开发人员的需求
开源社区活跃
缺点
Spark带来了一些弊端,例如设置和实现的复杂性,语言支持限制,而不是真正的流引擎。
三:Storm
Apache Storm是另外一个引人注目的解决方案,专一于处理巨大的实时数据流。Storm的主要亮点是可伸缩性和停机后的迅速恢复能力。您能够在Java,Python,Ruby和Fancy的帮助下使用此解决方案。Storm包含一些使其在本质上与模拟产品不一样的组件。第一个是Tuple,它是支持序列化的关键数据表示元素。而后是Stream,它在Tuple中合并了命名字段的方案。Spout从外部源获取数据,从它们中造成元组,而后将它们发送到Stream。另外还有Bolt(数据处理器)和Topology(拓扑),这是一整套元素及其相关描述。将全部这些元素组合在一块儿,能够帮助工程师监督大量的非结构化数据流。
谈到性能,Storm提供了比Flink和Spark更好的延迟。尽管如此,它的吞吐量却更糟。最近,Twitter移至另外一个框架Heron。Yelp,Yahoo 、阿里巴巴等大型组织还没有利用Storm。到2020年,它将拥有庞大的客户群和支持。
四: Apache Flink
Apache Flink是一个开源框架,一样适用于批处理和流数据处理。它最适合于集群环境。该框架基于转换–流概念。它也是大数据的4G。它比Hadoop中的计算框架MapReduce快100倍。
Flink框架由多层组成
部署层
运行层
库层
优势
低延迟,高吞吐量,容错,逐项输入,批处理轻松以及流数据处理,与Hadoop的兼容性。
缺点
不多有可伸缩性问题。
五: Presto
它是最适合较小数据集的开源分布式SQL工具。Presto发动机配备了协调员以及各类工人。当客户提交查询时,将对这些查询进行解析,分析,计划执行并分配给协调员在工做人员之间进行处理。
优势
即便并发查询工做量增长,查询降级最少。
它的查询执行速度比Hive快三倍。
易于添加图像和嵌入连接。
高度用户友好。
缺点
可靠性问题
六:Samza
Apache Samza是有状态的流,准备与Kafka共同开发的大数据系统。Kafka提供数据服务,缓冲和容错能力。二者结合起来被提议用于须要快速单级处理的地方。使用Kafka,能够以低延迟使用它。Samza还在处理过程当中保存了局部状态,从而提供了更多的容错能力。它是为Kappa体系结构设计的,但能够在其余体系结构中使用。Samza使用YARN来安排资源。所以,它须要一个Hadoop集群才能工做,这意味着您能够依赖YARN提供的亮点。这个大数据处理框架是为Linkedin开发的,也被eBay和TripAdvisor使用,以进行欺诈发现。Kafka利用了至关一部分代码来建立竞争的数据处理框架Kafka流。
原文:https://www.reddit.com/r/bigdata/comments/dtbtui/top_6_big_data_frameworks/
你点的每一个在看 我都认真当成了喜欢
本文分享自微信公众号 - 数据指南(BigDataDT)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。