大概十年前,大数据开局盛行。随着存储老本始终降低,很多企业开局存储他们失掉或生成的大局部数据,以便他们可以开掘这些数据,以取得关键的业务洞察力。
企业剖析一切这些数据的需求推进着各种大数据框架的开发,这些框架能够挑选少量数据,从Hadoop开局。大数据框架最后用于数据仓库或数据湖中的静态数据,但最近的趋向是实时处置来自多个源的数据。
什么是大数据框架?
此类框架通常在高性能计算 (HPC) 中施展作用,该技术可以处置资料迷信、工程或金融建模等不同畛域的难题。寻觅这些疑问的答案通常在于挑选尽或许多的相关数据。
最驰名的大数据框架是ApacheHadoop。其余大数据框架包括Spark、Kafka、Storm和Flink,它们与Hadoop一样都是由Apache软件基金会开发的开源名目。ApacheHive最后由Facebook开发,也是一个大数据框架。
Spark相关于Hadoop的长处是什么?
ApacheHadoop的关键组件是Hadoop散布式文件系统 (HDFS) 和数据处置引擎–部署MapReduce程序以过滤和排序数据。还包括YARN,它是Hadoop集群的资源治理器。
ApacheSpark也可以在HDFS或代替的散布式文件系统上运转。它的开发速度比MapReduce更快,经过在内存中处置和保管数据以供后续步骤经常使用,而不是将结果间接写回存储。关于较小的上班负载,这会使Spark比Hadoop快100倍。
但是,HadoopMapReduce可以处置比Spark大得多的数据集,尤其是那些整个数据集的大小超越可用内存的数据集。假设企业领有少量数据并且处置对期间不敏感,那么Hadoop或许是更好的选用。
Spark更适宜企业须要极速答案的运行程序,例如触及迭代或图形处置的运行程序。这种技术也称为网络剖析,该技术剖析客户和产品等实体之间的相关。
Hadoop和Kafka的区别是什么?
Apache Kafka是散布式事情流平台,旨在处置实时数据源。这象征着数据在经过系统时被处置。
与Hadoop一样,Kafka在主机节点集群上运转,因此具备可裁减性。有些主机节点构成存储层,称为代理,而另一些则处置数据流的延续导入和导出。
严厉来说,Kafka不是Hadoop的竞争对手平台。企业可以将它与Hadoop一同用作全体运行程序架构的一局部,在该架构中,它处置传入的数据流并将其输入到数据湖中,以供Hadoop等框架启动处置。
由于其每秒可处置数千条信息,Kafka关于网站优惠跟踪或大规模物联网部署中的遥测数据搜集等运行十分有用。
Kafka和Spark的区别是什么?
ApacheSpark是一种通用途理引擎,开发用于口头批处置(相似于MapReduce)和上班负载,例如流、交互式查问和机器学习 (ML)。
Kafka的架构是散布式信息传递系统架构,将记载流存储在称为主题的类别中。它不是用于大规模剖析作业,而是用于高效的流处置。它旨在集成到运行程序的业务逻辑中,而不是用于批量剖析作业。
这种剖析或许会经常使用Spark等工具口头,Spark是一种集群计算框架,可以口头用Java、Python或Scala等言语开发的代码。Spark还蕴含SparkSQL,它允许查问结构化和半结构化数据;以及Spark MLlib,用于构建和操作ML管道的机器学习库。
其余大数据框架
以下是其余你或许感兴味的大数据框架。
Apache Hive使SQL开发人员经常使用Hive查问言语 (HQL)语句,相似于用于数据查问和剖析的规范SQL。Hive可以在HDFS上运转,最适宜数据仓库义务,例如提取、转换和加载 (ETL)、报告和数据剖析。
ApacheFlink将有形态的流处置与处置ETL和批处置作业的才干相联合。这使其十分适宜事情驱动的上班负载,例如网站上的用户交互或在线洽购订单。与Hive一样,Flink可以运转在HDFS或其余数据存储层上。
ApacheStorm是散布式实时处置框架,可以与带有MapReduce的Hadoop启动比拟,不同之处在于它实时处置事情数据,而MapReduce以团圆批次运转。Storm是为可裁减性和初级别容错而设计。它关于须要极速照应的运行程序也很有用,例如检测安保破绽。