排名前6位的最流行的大数据框架,你在用哪一款?
介绍大数据框架
市场上有许多可用的框架。其中一些更受欢迎,例如Spark,Hadoop,Hive和Storm。Presto在效用指数上得分很高,而Flink具有巨大的潜力。另外还有一些需要提及的其他内容,例如Samza,Impala,Apache Pig等。在这里,我们将讨论其中的一些。
1. Apache Hadoop
Hadoop是基于Java的平台。这是一个开放源代码框架,可跨集群排列的一组硬件机器提供批处理数据处理和数据存储服务。Hadoop同样适用于可靠,可扩展和分布式的计算。但是,它也可以用作通用文件存储。它可以存储和处理PB的信息。Hadoop由三个主要组件组成。
- HDFS文件系统-负责Hadoop集群中的数据存储;
- MapReduce系统-用于处理集群中的大量数据;
- YARN-它是处理资源管理的核心。
- 优点
它提供了经济高效的解决方案,高吞吐量,多语言支持以及与大数据服务中大多数新兴技术的兼容性。还通过出色的故障处理机制支持高可伸缩性,容错能力,更适合研发,高可用性。
- 缺点
它包含安全漏洞的漏洞,不执行内存中的计算,因此会遭受处理开销,不适用于流处理和实时处理,这是处理大量小文件的问题。
像Amazon,Adobe,AOL,阿里巴巴,EBay和Facebook这样的组织也使用Hadoop。
2. Apache Spark
Spark框架由加利福尼亚大学伯克利分校成立。它是具有改进的数据流处理的批处理框架。借助完整的内存计算以及处理优化,它保证了极其快速的集群计算系统。
Spark框架由五层组成。
- HDFS和HBASE:它们构成了数据存储系统的第一层。
- YARN和Mesos:它们形成资源管理层。
- 核心引擎:这形成了第三层。
- 库:构成第四层,其中包含用于流查询处理时的SQL查询的Spark SQL,用于处理图形数据的GraphX和Spark R实用程序以及用于机器学习算法的MLlib。
- 第五层包含一个应用程序接口,例如Java或Scala。
Spark可以作为独立的集群与功能强大的存储层一起使用,也可以与Hadoop进行一致的集成。它也支持一些流行的语言,例如Python,R,Java和Scala。
- 优点
- 速度
- 使用方便
- 进阶分析
- 自然动态
- 多种语言
- Apache Spark功能强大
- 增加对大数据的访问
- 对Spark开发人员的需求
- 开源社区
- 缺点
Spark带来了一些弊端,例如设置和实现的复杂性,语言支持限制,而不是真正的流引擎。
3.Apache 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年,它将拥有庞大的客户群和支持。
4. Apache Flink
Apache Flink是一个开源框架,同样适用于批处理和流数据处理。它最适合于集群环境。该框架基于转换–流概念。它也是大数据的4G。它比Hadoop – Map Reduce快100倍。
Flink框架由多层组成-
- 部署层
- 运行层
- 图书馆层
- 优点
低延迟,高吞吐量,容错,逐项输入,批处理轻松以及流数据处理,与Hadoop的兼容性。
- 缺点
很少有可伸缩性问题。
5. Presto
Presto是最适合较小数据集的开源分布式SQL工具。Presto配备了协调员以及各种工人。当客户提交查询时,将对这些查询进行解析,分析,计划执行并分配给协调员在工作人员之间进行处理。
优点
- 即使并发查询工作量增加,查询降级最少。
- 它的查询执行速度比Hive快三倍。
- 易于添加图像和嵌入链接。
- 高度用户友好。
缺点
- 可靠性问题
6. Samza
Apache Samza是有状态的流,准备与Kafka共同开发的大数据系统。Kafka提供数据服务,缓冲和容错能力。两者结合起来被提议用于需要快速单级处理的地方。使用Kafka,可以以低延迟使用它。Samza还在处理过程中保存了局部状态,从而提供了更多的容错能力。它是为Kappa体系结构设计的,但可以在其他体系结构中使用。Samza使用YARN来安排资源。因此,它需要一个Hadoop集群才能工作,这意味着您可以依赖YARN提供的亮点。这个大数据处理框架是为Linkedin开发的,也被eBay和TripAdvisor使用,以进行欺诈发现。Kafka利用了相当一部分代码来创建竞争的数据处理框架Kafka流。
结论
没有一个最适合所有业务需求的框架。但是,以某些框架为特色,Storm似乎最适合流式传输,而Spark是批处理的赢家。对于每个组织或企业,自己的数据都是最重要的。将资源投入大数据结构包括支出。许多框架都是可自由访问的,而有些框架则需要付费。视项目需求而定,可提供初步版本。对于适当的选择,请了解业务目标。您可以在较小规模的项目上尝试使用该框架,以更精确地了解其功能。投资于正确的框架可以使企业成功。
排名前6位的最流行的大数据框架,你在用哪一款?相关推荐
- 开源项目管理软件排名_2014年排名前5位的开源项目管理工具
开源项目管理软件排名 去年,Opensource.com涵盖了一些流行的开源项目管理工具(ProjectLibre,] project-open [和OpenProject.)我们发现这些文章对我们的 ...
- python库排行榜_排名前6位的Python NLP库的比较
排名前6位的Python NLP库的比较 今天,自然语言处理(NLP)变得非常流行,在深度学习发展的背景下,自然语言处理(NLP)变得尤其引人注目.NLP是人工智能领域,旨在理解和提取文本中的重要信息 ...
- 2011年排名前七位的Linux操作系统。
下面列出了2011年排名前七位的Linux操作系统. Ubuntu Ubuntu 是一个由全球化的专业开发团队建造的操作系统.它包含了所有您需要的应用程序:浏览器.Office 套件.多媒体程序.即时 ...
- 如何用DAX实现查看每个月中不同类别排名前一位,以及一个简单的svg案例
现在给大家带来的是如何用DAX实现查看每个月中不同类别的排名前一位,最终完成效果如下!!! 首先我们需要两张简单的表 基数表 和类别表 当我们创建好表之后,我们再创建一个表格,然后我们将类别表里的列值 ...
- 网络监控工具 开源_排名前5位的开源网络监控工具
网络监控工具 开源 维持活动的网络是系统管理员最重要的任务之一,并且对连接的系统保持警惕对于保持网络的最佳状态至关重要. 有许多不同的方法可以使标签保持在现代网络上. 网络监视工具专门用于监视网络流量 ...
- 【SQL开发实战技巧】系列(十四):计算消费后的余额计算银行流水累计和计算各部门工资排名前三位的员工
系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...
- 谁在消费国际顶级奢侈品牌?中国城市国际顶级品牌指数排名前30位榜单 | 美通社头条...
美通社消息,2022年,全球个人奢侈品市场规模达到了2000年的3倍.其中,中国发展带来的红利尤为突出.2019年,中国在全球个人奢侈品市场的占比达到33%,新冠疫情期间中国份额虽然有所下降,但预计到 ...
- 独家直播双十一全网动态?前黑客“劳改”带你玩转大数据
独家直播双十一全网动态?前黑客"劳改"带你玩转大数据 发表于2015-11-24 10:26| 4044次阅读| 来源CSDN| 7 条评论| 作者蒲婧 CTO俱乐部CTOCTO讲 ...
- 前海征信“好信杯”大数据算法竞赛 - HM队【附源码】 原创 2017-06-17 高铭 科赛Kesci 赛题回顾 自2006年Hinton等人提出“深度学习”概念至今,深度学习在海量数据的挖
前海征信"好信杯"大数据算法竞赛 - H&M队[附源码] 原创 2017-06-17 高铭 科赛Kesci 赛题回顾 自2006年Hinton等人提出"深度学习& ...
最新文章
- centos7 php配置,CentOS7 下nginx与PHP的安装与配置
- tensorflow.unstack() and tensorflow.stack()
- 屏蔽预训练模型的权重。 只训练最后一层的全连接的权重。_权重/参数初始化...
- java 转jsp_【转】JSP三种页面跳转方式
- Spring系列教程八: Spring实现事务的两种方式
- java矩形翻转_如何判断一个点在旋转后的矩形中
- 乖乖,腾讯天美研发20万月薪刷爆朋友圈,网友:小丑竟是我自己
- 登陆窗体相关的控件 1124
- ICML 2019 | 强化学习用于推荐系统,蚂蚁金服提出生成对抗用户模型
- 微信小程序怎么用? 老徐小程序!
- 【C语言进阶】⑤关于数组传参和指针传参辨析
- layui单据打印_layui打印表格自定义函数
- dev c 扫雷程序代码c语言,C语言 扫雷程序的实现
- Mixly16:震动报警器
- Casual inference 综述框架
- 解读《创业家》2009年中国创新企业榜TOP100
- nsl0重构算法 matlab,基于SL0压缩感知信号重建的改进算法
- Zemax---Optimization Wizard(优化向导)
- javaweb+jsp+MVC+mysql基于人脸识别的幼儿园接送系统
- SHELL脚本之编写脚本实现调整屏幕亮度的脚本