2020年10种最佳大数据工具
您是否曾经想过如何为业务和应用程序开发选择最佳的大数据引擎?大数据软件市场是巨大的,竞争激烈的,充满了看似非常相似的软件。
当前,大数据是企业软件开发和补充中最需要的之一。大数据技术的高度普及是由于数据量的快速和持续增长引起的现象。
必须检查,构造和处理海量数据阵列,以提供所需的带宽。数据处理引擎在用于移动应用程序的技术堆栈中得到了越来越多的使用,等等。
那么,什么大数据框架将是2020年的最佳选择?您应该为产品选择什么?让我们找出答案!
顶级大数据框架:技术公司将在2020年选择什么?
如今,可能没有单一的大数据软件无法处理大量数据。已经创建了特殊的大数据框架来实现和支持此类软件的功能。它们有助于快速处理和构建大量实时数据。
什么是最好的大数据工具?
目前市场上有许多很棒的大数据工具。为了进入前10名,我们必须排除很多值得一提的著 名解决方案一Kafka和Kafka Streams, Apache TEZ, Apache Impala, Apache Beam,Apache Apex。但是,我们只选择代表:
最受欢迎,例如Hadoop, Storm, Hive和Spark;
最有前途的像Flink和Heron;
最有用的,例如Presto和MapReduce;
此外,大多数被低估的公司如Samza和Kudu。
我们已经进行了透彻的分析,以构成将在2020年成为主流的这些顶级大数据框架。让我们一起来看看!
1. Hadoop,它在2020年仍然会流行吗?
Apache Hadoop是大数据存储和处理的革命性解决方案。大多数大数据软件都是围绕Hadoop构建的或与Hadoop兼容的。这是来自Apache Software Foundation的开源项目。
什么是Hadoop框架?
Hadoop非常适合可靠,可扩展的分布式计算。但是,它也可以用作通用文件存储。它可以存储和处理PB的数据。该解决方案包含三个关键组件:
HDFS文件系统,负责Hadoop集群中数据的存储;
MapReduce系统,旨 在处理集群中的大量数据;
YARN,处理资源管理的核心。
Hadoop如何精确地解决现代DBMS的内存问题? Hadoop在交互式数据库和数据存储之间使用中间层。其性能随着数据存储空间的增加而增长。为了进一步扩 展,您可以将新节点添加到数据存储中。
Hadoop可以存储和处理许多PB的信息,而Hadoop中 最快的进程只需几秒钟即可运行。它还禁止在处理过程中对已存储在HDFS系统中的数据进行任何编辑。
媒体对“Hadoop的死亡”的热议背后是否有何用意?
第一次问世时是革命性的,它催生了一个围绕着它的产业链。现在,大数据正在迁移到云中,并且有很多关于灾难的说法。Hadoop终结了吗?考虑一下,大多数数据都存储在HDFS中,并且仍然需要用于处理或转换它的工具。
Hadoop仍然是一个强大的批处理工具, 可以与大多数其他大数据分析框架集成。它的组件: HDFS,MapReduce和YARN对行业本身是不可或缺的。因此,看起来它不会很快消失。
但是,尽管Hadoop无疑很受欢迎,但技术进步提出了新的目标和要求。更多高级替代品正逐渐进入市场,以抢占市场份额(我们将进一 步讨论其中的一些)
2. MapReduce。这个大数据搜索引擎会过时吗?
MapReduce是Hadoop框架的搜索引擎。它最早是由Google于2004年作为并行处理大量原始数据量的算法而引入的。后来,它成为了我们如今所知的MapReduce。
该引擎将数据视为条目,并分三个阶段处理它们:
1.地图(数据的预处理和过滤)。
2.随机播放(工作节点对数据进行排序,每个节点对应一个输出键,这是地图功能产生的)。
3.精简(精简功能由用户设置,并为单独的输出数据组定义最终结果)。
所有值中的大多数由Reduce返回(函数是MapReduce任务 的最终结果)。MapReduce提供数据的自动并行化,高效的平衡和故障安全性能。
多年来,它一直是该行业的主食,并与其他著名的大数据技术一起使用。 但是MapReduce可以替代,尤其是Apache Tez。它是高度可定制的,并且速度更快。它使用YARN进行资源管理,因此资源效率更高。
3.SPRAK还是以前那样强大的工具?
Apache Spark继续为最佳的大数据框架。与Apache Hadoop相比,它是一个开放源代码框架,是作为更高级的解决方案而创建的。最初的框架是为处理大数据而明确构建的。这两种解决方案之间的主要区别在于数据检索模型。
Apache Spark一Computerphile
Hadoop将数据与MapReduce算法的每个步骤一起保存在硬盘上。当Spark执行所有操作时,将使用随机存取存储器。因此,Spark显示 了快速的性能,并允许处理大量数据流。Spark的功能支 柱和主要特征是高性能和故障安全性。
它支持四种语言:
Scala;
Java;
Python;
R.
它包含五个组件:核心和四个与大数据进行优化交互的库。Spark SQL是用于结构化数据处理的四个专用框架库之一。使用DataFrame和解决Hadoop Hive请求的速度提高了100倍。
Spark的Sparkling Water 2.3.0是业界最佳的Al实施之一。Spark还具有Streaming工具,可实时处理特定于线程的数据。实际上,该工具更多地是微批量处理器而不是流处理器,并且基准测试也证明了这一点。
最快的批量处理器或最大的流处理器?
Spark的行为 更像是快速批量处理器,而不是像Flink,Heron或Samza这样的实际流处理器。如果您在批处理处理器中需要类似流的功能,那就可以了。或者,如果您需要高吞吐量的慢速流处理器。这是一个观点问题。
Spark创始人指出,处理每个微批处理的平均时间仅需0.5秒。接下来是MLib,它是一种分布式机器学习系统,比Apache Mahout库快9倍。同样,最后一个库是GraphX,用于可伸缩处理图数据。
Spark通常被认为是Hadoop的实时替代品。可以,但是与Hadoop生态系统中的所有组件一样,它可以与Hadoop和其他重要的大数据框架一起使用 。
4.HIVE 大数据分析框架
Apache Hive由Facebook创建,旨在结合最流行的大数据框架之一的可扩展性。它是将SQL请求转换为MapReduce任务链的引擎。
该引擎包括以下组件:
解析器(对传入的SQL请求进行排序) ;
优化器(优化请求以提高效率) ;
执行程序(在MapReduce框架中启动任务)
Hive可以与Hadoop集成(作为服务器部分),以分析大数据量。这是一一个基准测试,显示了Hive在Tez上的竞争表现(越低越好)。
在最初发布十年后,Hive仍然是最常用的大数据分析框架之一。
Hive 3由Hortonworks于2018年发布。它将MapReduce替换为Tez作为搜索引擎。它具有机器学习功能,并与其他流行的大数据框架集成。
但是,在Hortonworks和Cloudera最近合并之后,一些人对该项目的未来感到担忧。Hive的主要竞争对手Apache Impala由Cloudera发行。
5.Storm ,是Twitter第一个大数据框架
Apache Storm是另一个杰出的解决方案,专注于处理大型实时数据流。Storm的主要功能是可伸缩性和停机后迅速恢复的能力。您可以在Java, Python, Ruby和Fancy的帮助 下使用此解决方案。
Storm具有几个元素,使其与类似物大为不同。第一个是Tuple,它是支持序列化的关键数据表示元素。然后是Stream,其中包含在Tuple中命名字段的方案。Spout从外部来源接收数据,从中形成元组,并将其发送到Stream。
还有数据处理程序Bolt和Topolog y,即一包元素及其相关描述。结合在一起,所有这些元素都可以帮助开发人员管理大量非结构化数据流。
说到性能,Storm提供了比Flink和Spark更好的延迟。但是,它的吞吐量较差。最近,Twitter (Storm的主要支持者)转移到了一个新的框架Heron。风暴仍在使用Yelp的一样,雅虎,阿里巴巴,以及一些大公司等。到2020年,它仍将拥有庞大的用户群和支持。
6. Samza,为Kafka制作的流处理器
Apache Samza是与Kafka共同开发的有状态流处理大数据框架。Kafka提供数据服务,缓冲和容错能力。该二重奏旨在用于需要快速单阶段处理的地方。借助Kafka,可以以较低的延迟使用它。Samza还可在处理过程中保存局部状态,以提供额外的容错能力。
Samza专为Kappa体系结构(仅用于流处理管道)而设计,但可以在其他体系结构中使用。Samza使用YARN来协商资源。因此,它需要一个Hadoop集群才能工作,这意味着您可以依赖YARN提供的功能。
这个大数据处理框架是为Linkedin开发的,eBay和TripAdvisor还将其用于欺诈检测。 Kafka使用了相当一部分代码来创建竞争的数据处理框架Kafka流。总而言之,Samza是一 个强大的工具,擅长于其用途。但是Kafka流可以完全取代它吗?只有时间会给出答案。
7.Flink,真正的混合大数据处理器。
Apache Flink是用于流和批处理的强大的大数据处理框架。它最初是在2008年左右作为科学实验的一部分而构思的,并于2014年左右开始开源。此后一直受到欢迎。
Flink具有许多有趣的功能和令人印象深刻的新技术。它使用像Apache Samza这样的有状态流处理。但是它也可以进行ETL和批处理,效率很高。
最适合Lambda管道
对于简化同时需要流处理和批处理的体系结构而言,这是一个绝佳的选择。它可以从提取的数据中提取时间戳,以创建更准确的时间估计和流数据分析的更好框架。它还具有机器学习的实现能力。
作为Hadoop生态系统的一部分, 它可以轻松集成到现有架构中。它具有与MapReduce和Storm集成的传统,因此您可以在其.上运行现有的应用程序。它对大数据具有良好的可伸缩性。
Flink非常适合设计事件驱动的应用程序。您可以在其上设置检查点以在处理过程中发生故障时保留进度。Flink还与流行的数据可视化工具Zeppelin具有连接性。
阿里巴巴使用Flink观察光棍节的消费者行为和搜索排名。结果,销售额增长了30%。金融巨头ING使用Flink构建欺诈检测和用户通知应用程序。此外,Flink还具有机器学习算法。
Flink无疑是令人兴奋的新大数据处理技术之一。但是,可能有理由不使用它。大多数科技巨头尚未完全接受Flink,而是选择投资自己的具有类似功能的大数据处理引擎。例如,Google的Data Flow + Beam和Twitter的Apache Heron。同时,Spark和Storm继续拥有 可观的支持和支持。总而言之,Flink是一 个框架,预计将在2020年增加其用户基础。
8.Heron,这个流处理器将成为下一个大问题吗?
Heron,这是较新的大数据处理引擎之一。 Twitter将其开 发为Storm的新一代替代产品。它旨在用于实时垃圾邮件检测,ETL任务和趋势分析。
Apache Heron与Storm完全向后兼容,并且迁移过程简单。其设计目标包括低延迟,良好且可预测的可伸缩性以及易于管理。开发人员非常重视进程隔离,以便于调试和稳定地使用资源。Twitter的基准 显示,与Storm相比有了显着改善。
该框架仍处于开发阶段,因此,如果您正在寻找早日采用的技术,则可能适合您。通过与Storm的出色兼容性以及Twitter的强大支持,Heron可 能很快会成为下一个大问题。
9. Kudu
Apache Kudu是令人兴奋的新存储组件。它旨在简化Hadoop生态系统中的一些复杂管道。它是一种类似于SQL的解决方案,旨在将随机读取和顺序读取和写入结合在一起。
专门的随机或顺序访问存储可以更有效地达到其目的。Hbase的随机访问扫描速度是后者的两倍,而具有Parquet的HDFS则可与批处理任务媲美。
没有简单的方法来进行具有适当速度和效率的随机和顺序读取。特别是对于需要快速不断更新数据的环境。直到苦都。它旨在与Hadoop生态系统的大多数其他大数据框架集成,尤其是Kafka和lmpala。
在Kudu.上建立的项目
Kudu目前用于华尔街的市场数据欺诈检测。事实证明,它特别适合处理具有频繁更新的不同数据流。这对于实时广告分析也非常有用,因为它速度快且提供了出色的数据可用性。
中国手机巨头小米选择了Kudu来收集错误报告。主要是因为它具有简化和简化数据管道以提高查询和分析速度的能力。
10. Presto,大数据查询引擎,用于小数据查询
对于较小的任务,Presto是 Apache Hive的一种更快,更灵活的替代方案。Presto于2013年作为开放源代码发布。它是一种自适应,灵活的查询工具,适用于具有不同存储类型的多租户数据环境。
行业巨头(例如Amazon或Netflix) 对其进行开发或对该大数据框架做出贡献。Presto具有 联邦结构,各种各样的连接器以及许多其他功能。
最初的设计要求之一是能够分析较小的数据子集(在50gb 一 3tb范围内)。对于该数据范围的描述性分析非常方便。
如何选择大数据技术?
一个棘手的问题。综上所述,可以肯定地说,数据处理框架中没有最佳选择。每个人都有其优点和缺点。而且,某些解决方案提供的结果严格取决于许多因素。
根据我们的经验,使用不同工具的混合解决方案效果最佳。大数据框架市场上的各种报价使精通技术的公司可以选择最合适的工具来完成任务。
您是否仍然想知道哪种框架最适合大数据?
虽然我们之前已经以正确的方式回答了这个问题。那些仍然感兴趣的人,我们认为什么是大数据框架最有用,我们将它们分为三类。
The Storm是最适合流媒体播放的内容,比Heron慢, 但背后有更多发展。
Spark是批处理任务的最佳选择,有用的功能可以执行其他操作;
Flink是最好的混合动力车。为此开发的,具有相关功能集。
但是,我们再次强调这一点。最好的框架是适合当前任务的框架。
尽管当今有许多框架,但是在大多数开发人员中,只有少数非常受欢迎和需要。在本文中,我们考虑了10个顶级大数据框架和库,这些框架和库必将在即将到来的2020年保持领先地位。
大数据软件市场无疑是一个竞争激烈且令人困惑的领域。不乏新颖有趣的产品以及创新功能。我们希望这个大数据框架列表可以帮助您进行导航。
评论
评论
推荐评论
暂无评论哦,快来评论一下吧!
全部评论(0条)