`
jiezhu2007
  • 浏览: 245551 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
Cfa1f850-3fc3-3a36-9cd8-c3415c9610c6
hadoop技术学习
浏览量:144212
Group-logo
大数据产业分析
浏览量:2982
社区版块
存档分类
最新评论

DAG算法在hadoop中的应用

阅读更多


大学里面数据结构里面有专门的一章图论,可惜当年没有认真学习,现在不得不再次捡起来。真是少壮不努力,老大徒伤悲呀!什么是DAG(Directed Acyclical Graphs),先来看下教科书上的定义吧:如果一个有向图无法从某个顶点出发经过若干条边回到该点。让我们再来看看DAG算法现在都应用在哪些hadoop引擎中。

Tez:

Hortonworks开发的DAG计算框架,是从MapReduce计算框架演化而来的通用DAG计算框架,核心思想是将Map和Reduce两个操作进一步拆分,即Map被拆分成Input、Processor、Sort、Merge和Output, Reduce被拆分成Input、Shuffle、Sort、Merge、Processor和Output等,这样,这些分解后的元操作可以任意灵活组合,产生新的操作,这些操作经过一些控制程序组装后,可形成一个大的DAG作业,可以用来替换Hive/Pig等。



 

 

Oozie:

Oozie工作流是放置在控制依赖DAG(有向无环图 Direct Acyclic Graph)中的一组动作(例如,Hadoop的Map/Reduce作业、Pig作业等),其中指定了动作执行的顺序。我们会使用hPDL(一种XML流程定义语言)来描述这个图。

hPDL是一种很简洁的语言,只会使用少数流程控制和动作节点。控制节点会定义执行的流程,并包含工作流的起点和终点(start、end和fail节点)以及控制工作流执行路径的机制(decision、fork和join节点)。动作节点是一些机制,通过它们工作流会触发执行计算或者处理任务。Oozie为以下类型的动作提供支持: Hadoop map-reduce、Hadoop文件系统、Pig、Java和Oozie的子工作流。

 

Spark:

Resilient Distributed Dataset (RDD)弹性分布数据集 是Spark的最基本抽象,是对分布式内存的抽象使用,实现了以操作本地集合的方式来操作分布式数据集的抽象实现。RDD是Spark最核心的东西,它表示已被分区,不可变的并能够被并行操作的数据集合,不同的数据集格式对应不同的RDD实现。RDD必须是可序列化的。RDD可以cache到内存中,每次对RDD数据集的操作之后的结果,都可以存放到内存中,下一个操作可以直接从内存中输入,省去了MapReduce大量的磁盘IO操作。

元数据的结构是DAG(有向无环图),其中每一个“顶点”是RDD(包括生产该RDD的算子),从父RDD到子RDD有“边”,表示RDD间的依赖性。Spark给元数据DAG取了个很酷的名字,Lineage(世系)。

Spark程序的运行场景。它由客户端启动,分两个阶段:第一阶段记录变换算子序列、增量构建DAG图;第二阶段由行动算子触 发,DAGScheduler把DAG图转化为作业及其任务集。Spark支持本地单节点运行(开发调试有用)或集群运行。



 

  • 大小: 179.6 KB
  • 大小: 15.1 KB
  • 大小: 29.6 KB
分享到:
评论

相关推荐

    hadoop大数据平台技术与应用 --课后习题参考答案.pdf

    根据给定文件的内容部分,我们可以提炼出以下几个知识点: 1. 大数据业务处理基本流程与关键技术 ...在实际的Hadoop学习和应用中,这些知识点是非常重要的基础,有助于理解和操作Hadoop集群以及处理大数据问题。

    云计算-调度算法在云计算资源分配中的应用研究.pdf

    云计算-调度算法在云计算资源分配中的应用研究 云计算是一种商业计算模型,可以通过网络为用户提供大规模的计算和存储能力,使用起来便捷、廉价,类似于水、电、气一样。如何有效地分配云计算资源,减少执行时间,...

    hadoop-lzo-master.zip

    1. **LZO压缩**:LZO算法及其在Hadoop中的应用,主要优势在于其快速的压缩和解压缩速度,适合大数据环境下的实时处理。 2. **Hadoop与LZO集成**:`hadoop-lzo-0.4.20.jar` 提供了Hadoop与LZO之间的桥梁,使得Hadoop...

    spark-3.1.2.tgz & spark-3.1.2-bin-hadoop2.7.tgz.rar

    Spark是Apache软件基金会下的一个开源大数据处理框架,它在大数据领域扮演着重要的角色,尤其在实时数据处理和批处理方面表现突出。...理解并熟练运用这两个框架,对于在大数据领域进行数据分析和应用开发至关重要。

    spark-3.1.2-bin-hadoop3.2.tgz

    总的来说,Spark 3.1.2与Hadoop 3.2的结合为大数据处理提供了强大而灵活的平台,尤其在Linux环境中,能够充分利用系统资源,实现高效的数据处理和分析。通过深入理解这些概念和组件,开发者可以更好地利用Spark解决...

    spark-3.0.0-bin-without-hadoop.tgz

    这个版本特别适合那些已经拥有Hadoop环境或者打算在其他分布式存储系统上运行Spark的应用场景。 Spark的设计目标是提供比Hadoop MapReduce更快的数据处理速度,同时保持易于编程的特性。它通过引入基于内存计算的...

    spark-2.4.4-bin-hadoop2.6.tgz

    这个压缩包文件"spark-2.4.4-bin-hadoop2.6.tgz"包含了运行Spark所需的所有组件和依赖,以便在Hadoop 2.6环境中运行。 1. **Spark核心概念**: Spark的核心是弹性分布式数据集(Resilient Distributed Datasets, ...

    Hadoop开发者入门专刊.pdf

    #### 国内Hadoop应用情况 随着大数据时代的到来,Hadoop在中国的应用越来越广泛。许多企业和机构利用Hadoop的强大能力来处理和分析大量的数据。例如,在互联网公司中,Hadoop被用来处理用户行为数据、日志数据等;在...

    spark-2.3.3-bin-hadoop2.6.tgz

    在Hadoop上,数据首先存储在HDFS中,然后Spark通过读取HDFS上的数据进行处理,结果可以再次写回HDFS或输出到其他系统。 总结起来,"spark-2.3.3-bin-hadoop2.6.tgz"是一个包含完整Spark 2.3.3版本的压缩包,针对...

    图论- 环与块- DAG 图判定.rar

    3. **数据流分析**:在大数据处理中,DAG常用于描述数据处理任务的流水线,如Apache Hadoop和Spark的作业执行模型。 4. **拓扑排序**:DAG图可以进行拓扑排序,得到一个节点的线性排列,使得对于每条有向边uv,u都在...

    hadoop大数据实战培训教材 spark 培训教材

    1. Hadoop生态系统的概述:包括Hadoop的组件如HBase、Hive、Pig、Oozie等,以及它们在大数据处理中的应用。 2. Hadoop的安装与配置:如何在本地或集群环境中设置Hadoop环境,包括硬件需求和软件依赖。 3. HDFS操作:...

    spark-3.1.1-bin-hadoop2.7

    本文将深入探讨 Spark 3.1.1 在 Hadoop 2.7 环境下的特性和应用。 1. Spark 3.1.1 的核心改进 Spark 3.1.1 强化了 SQL 查询性能,引入了 Catalyst 优化器,能够更智能地处理查询计划,减少数据处理的复杂度。此外...

    Hadoop与spark简要说明.docx

    在实际应用中,例如电商行业,Hadoop的MapReduce框架被用来处理海量的用户行为日志,进行数据处理和机器学习,为推荐系统和公司策略提供数据支持。随着数据量的增加,Spark由于其高效性能,逐渐成为企业的首选,它...

    用于多个MapReduce作业的任务调度算法.pdf

    MapReduce是Hadoop生态系统中的一个核心组件,广泛应用于大数据处理和分析领域。然而,传统的MapReduce调度算法存在一些缺陷,如无法满足多个MapReduce作业的调度需求和对数据依赖限制的考虑。本文提出了一个用于多...

    大数据日知录(架构与算法).pdf(带完整书签)

    10. **大数据案例分析**:书中可能会介绍实际的行业案例,如电商推荐系统、社交网络分析、金融风控等,展示大数据技术在实际业务中的应用。 通过阅读《大数据日知录:架构与算法》并结合实际案例,读者可以系统地...

    大数据日知录_架构与算法

    在实际应用部分,书中可能列举了大数据在电商、社交媒体、金融、医疗等行业的成功案例,解析如何通过大数据架构和算法优化业务流程、提高运营效率、驱动创新。比如,通过用户行为分析提升个性化推荐,或者利用大数据...

    Dr.elephant 编译完成文件 hadoop2.4.1 spark1.6.0

    《Dr.Elephant与Hadoop 2.4.1 Spark 1.6.0的集成应用》 在大数据处理领域,Dr.Elephant作为一个开源的分析工具,被广泛用于优化Hadoop和Spark作业的性能。它能通过收集、分析日志,为用户提供深入的作业执行信息,...

    Apache Hadoop---Spark.docx

    Apache Spark 是一个高效且易用的大数据处理框架,由加州大学伯克利分校的AMP实验室开发,旨在解决Hadoop MapReduce在迭代计算和交互性方面的性能瓶颈。Spark的核心设计目标是提供快速、通用的计算引擎,它允许中间...

    清华大学精品大数据实战课程(Hadoop、Hbase、Hive、Spark)PPT课件含习题(32页) 第5章 内存大数据计算框

    《清华大学精品大数据实战课程》是针对大数据处理...通过学习,学员将掌握如何在实际项目中运用Spark进行大数据处理,提升数据分析的效率和质量。同时,课程中的习题将进一步巩固理论知识,提高解决实际问题的能力。

Global site tag (gtag.js) - Google Analytics