首页 > 编程知识 正文

大数据的基础架构,大数据基本分析框架主要包括

时间:2023-05-06 16:16:52 阅读:165606 作者:1369

这几年,大数据发展很快,出现了很多受欢迎的开源社区。 其中比较有名的是Hadoop、Storm,以及后来的Spark,他们各自都有集中的应用场景。 Spark开创了内存计算的先河,以内存为赌注赢得了内存计算的飞速发展。 Spark的热度多少掩盖了其他分布式计算系统的身影。 就像Flink一样,这个时候也在悄悄地发展。

在国外的一些社区,很多人把大数据的计算引擎分成四代,当然很多人不同意。 我们暂且这么想着讨论。

第一代——Hadoop MapReduce首先,第一代计算引擎无疑是Hadoop搭载的MapReduce。 将计算分为Map和Reduce两个阶段。 对于高层APP应用来说,必须寻找分割算法的方法,进而通过高层APP应用实现多个作业的连接,完成迭代计算等完整算法。

介绍MapReduce是一种用于1TB以上大型数据集并行运算的编程模型。 概念“Map”和“Reduce”是它们的主要思想,是借用函数式编程语言的,也有借用矢量编程语言的特性。 这对于允许程序员在分布式系统上执行自己的程序而不需要进行分布式并行编程非常有用。 当前的软件实现通过指定映射(Map )函数将一组键值对映射到新的一组键值对。 此外,还指定了并发的Reduce (减少)函数,以便所有映射的键值对中的每个键值对共享同一个键组。

批处理映射器、记录器第二代——DAG框架(Tez )映射由于这样的缺点而支持DAG框架。 因此,支持DAG的框架被归类为第二代计算引擎。 例如Tez和更上层的Oozie。 这里不详细研究各种DAG实现之间的差异,但对当时的Tez和Oozie来说,这往往是一项批处理任务。

介绍Tez是一种支持Apache开源DAG工作的计算框架,直接来源于MapReduce框架。 中心思想是进一步分割Map和Reduce这两个操作。 也就是说,Map被分割为输入、处理器、源、合并和输出。 Reduce被分割为输入、表面、表面、合并、处理器、输出等。 这样,就可以自由组合这些分解的元操作,并生成新操作。 这些操作通过几个控制程序组装后,可以形成很大的DAG工作。

分批处理1个Tez=MR(1) MR )2)…MR ) n )时与Mr相比效率有所提高

第三代——Spark之后是以Spark为代表的第三代计算引擎。 第三代计算引擎的特点主要是Job内部的DAG支持(不跨越Job )和增强的实时计算。 在这里,很多人认为第三代计算引擎也能够很好地执行批处理作业。

介绍Spark来自加州大学伯克利分校AMP实验室(Algorithms,Machines,and People Lab )开发的通用内存并行计算框架

使用Scala语言实现的Spark是一种面向对象的函数式编程语言,可以像处理本地集合对象一样轻松地处理分布式数据集,具有以下特点:

快速运行: Spark具有DAG执行引擎,支持内存中数据的迭代计算。 据官方提供的数据显示,从磁盘读取数据的速度比Hadoop MapReduce快10倍以上,而从内存读取数据的速度则快100倍以上。 易用性: Spark不仅支持Scala创作APP,还支持用Java和Python等语言进行创作。 特别是Scala是一种高效、可伸缩的语言,可以用简洁的代码处理复杂的处理工作。 通用性强:作为Spark生态圈的伯克利数据分析堆栈(BDAS )包括Spark Core、Spark SQL、Spark Streaming、MLLib和GraphX等组件。 这些组件分别可以在Spark Core提供的内存计算框架、Spark Streaming实时处理APP应用程序和Spark Streaming实时处理APP应用程序的任何地方运行。 具有自适应能力,可以读取Cassandra、HBase、S3、Techyon,读取本机数据,并将Mesos、YARN以及自己的Standalone作为资源管理器调度作业spark APP的计算批处理、流处理、使用DAG内存的迭代计算以及SQL顶级API支持,第四代——Flink的性能比以前大幅提高,随着第三代计算引擎的出现,各种迭代计算的性能和对流计算都有所提高Flink的诞生属于第四代。 这应该主要体现在对Flink对流计算的支持和更进一步的实时性上。 当然,Flink也可以支持Batch的任务和DAG的运算。

介绍Flink在欧洲诞生的大数据研究项目StratoSphere。 这个项目是柏林工业大学的研究性项目。 早期,Flink进行Batch计算,但在2014年成为StratoSphere的中心

员孵化出 Flink,同年将 Flink 捐赠 Apache,并在后来成为 Apache 的顶级大数据项目,同时 Flink 计算的主流方向被定位为 Streaming, 即用流式计算来做所有大数据的计算,这就是 Flink 技术诞生的背景。

2014 年 Flink 作为主攻流计算的大数据引擎开始在开源大数据行业内崭露头角。区别于 Storm、Spark Streaming 以及其他流式计算引擎的是:它不仅是一个高吞吐、低延迟的计算引擎,同时还提供很多高级的功能。比如它提供了有状态的计算,支持状态管理,支持强一致性的数据语义以及支持 基于Event Time的WaterMark对延迟或乱序的数据进行处理等。

批处理、流处理、SQL高层API支持自带DAG流式计算性能更高、可靠性更高 彩蛋

资源获取 获取Flink面试题,Spark面试题,程序员必备软件,hive面试题,Hadoop面试题,Docker面试题,简历模板等资源请去 GitHub自行下载 https://github.com/lhh2002/Framework-Of-BigData Gitee 自行下载 https://gitee.com/li_hey_hey/dashboard/projects

扫码关注

大数据老哥
希望这篇文章可以帮到你~
记得点赞收藏哦

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。