0


大数据技术原理与应用(7-11)-TYUT(完结)

第七章 MapReduce

1.Hadoop生态系统的两个核心组件:HDFS和MapReduce。MapReduce体系结构:Client、JobTracker、TaskTracker以及Task

2.JobTracker负责资源监控和作业调度,监控所有TaskTracker与Job的健康状况

TaskTracker会周期性地通过“心跳”将本节点上资源的使用情况和任务的运行进度汇报给JobTracker

4.Map和Reduce函数的输入输出格式

5.map端的Shuffle****进程:

  • 输入数据和执行map任务(键值对→多个键值对)
  • 写入缓存
  • 溢写(分区,排序,合并)(用哈希进行分区;根据key进行排序;合并,将具有相同键的值加起来)
  • 文件归并

reduce端的shuffle****进程:

  • 领取数据
  • 归并数据
  • 把数据输入给reduce任务

6,Mapreduce是一种分布式并行编程模型。存储在HDFS的数据集被切分为小数据集,每个map任务输入一个小数据集(分片),map任务会并行处理。map任务生成的结果会作为reduce任务的输入,最终由reduce任务输出结果,写入HDFS。

map函数将输入的元素转化为<key,value>键值对,进行并发处理输出:**<k1,v1>list(<k2,v2>)**

reduce函数将具有相同键的键值对组合起来,输出处理后的键值对,输出结果合并成一个文件。**<k2,list(v20)><k3,v3>**

**7.**大规模数据集处理包括分布式存储和分布式计算。(hadoop中分别对应HDFS和Mapreduce)

对map的输出进行分区,排序,合并,归并,交给reduce来处理,这个过程就叫shuffle。

MapReduce使用inputformat模块对map进行预处理,将输入文件切分为inputsplit(输入分片),每个分片针对一个map任务。

8.Mapreduce的6个执行阶段理解。

第八章 Hadoop再探讨

1.新一代资源管理调度框架YARN包含3个组件:

ResourceManager:

  • 处理客户端请求
  • 启动/监控ApplicationMaster
  • 监控NodeManager
  • 资源分配与调度

ApplicationMaster:

  • 为应用程序申请资源,并分配给内部任务
  • 任务调度,监控与容错

NodeManager:

  • 单个节点上的资源管理
  • 处理来自ResourceManager/ApplicationMaster的命令

2.MapReduce在Hadoop1.0中资源管理效率低,2.0中设计了yarn(新一代资源管理调度框架)

HDFS单一名称节点存在单点失效问题,解决:HDFS HA(高可用架构),提供名称节点热备份机制

HDFS单一命名节点无法实现资源隔离。解决:HDFS 联邦,管理多个命名空间。

3.Hadoop生态系统中的Pig组件,处理大规模数据的脚本语言,用户编写几条简单的语句,系统自动转换为Mapreduce作业。

4.简而言之,yarn对jobtracker功能进行拆分

5.Hadoop2.0组件,pig,tez,kafaka,

第九章 数据仓库Hive

Hive是一个面向主题的,集成的,相对稳定的,反映历史变化的数据集合,用于支持管理决策。

hive体系结构的4层次:数据源,数据存储和管理,数据服务,数据应用。

hive区别于数据库的地方,可以有历史记录。

hive借助Hadoop来完成数据的存储与处理。

类SQL语言-hiveSQL

以Mapreduce作为执行引擎:

1.HDFS作为高可靠的底层存储方式,存海量数据

2.Mapreduce对海量数据进行批处理,实现高性能运算

3.Hive借助HDFS和Mapreduce实现数据的存储处理,用HiveQL编写的处理逻辑,最终都要转换成Mapreduce任务运行。

4.pig可作为hive的替代工具。Pig是一种数据流语言和运行环境,在Hadoop平台上查询半结构化数据集,将外部数据装载到Hadoop集群中,转化为用户需要的数据格式。

5.HBASE为hive提供实时数据访问。Hbase面向列的,分布式的,可伸缩的数据库,可提供数据的实时访问,hive只能处理静态数据。两者互补。

6.Hive生态系统

第十章 Spark(并行计算框架)

1.spark生态系统主要包含Spark Core(提供内存计算),spark SQL(交互式查询分析) ,Spark Streaming(流计算),Mllib(机器学习算法库组件),GraphX(图计算)等组件。

2.RDD是分布式内存的抽象概念,提供了一种高度受限的共享内存模型。

RDD提供了一组丰富的操作:行动和转换。

行动用于执行计算并指定输出的形式,转换制定RDD之间的相互依赖关系。

转换操作接收并返回RDD,而行动接受RDD但返回非RDD。

运行原理:

(1)创建RDD对象;

(2)SparkContext负责计算RDD之间的依赖关系,构建DAG;

(3)DAGScheduler负责把DAG图分解成多个Stage,每个Stage中包含了多个Task,每个Task会被TaskScheduler分发给各个WorkerNode上的Executor去执行。

rdd特性:高容错 ,中间结果持久化内存

3.Scala是一种多范式编程语言。spark通过scala实现rdd的API。

4.spark特点:运行速度快,容易使用,通用性,运行模式多样。

5.基本概念

DAG:有向无环图,反映RDD之间的依赖关系。(spark基于DAG任务调度执行机制,spark根据rdd依赖关系生成DAG,开始计算)

*RDD:分布式对象集合,只读的分区记录集合。(只读意味着不能直接修改)每个RDD可分为多个分区,每个分区是一个数据集片段,并且一个RDD的不同分区可以被保存到集群中不同的节点上,从而可以在集群中的不同节点上进行并行计算*

作业:一个作业包含多个RDD及其操作。

Executor:运行在工作节点上的一个进程,负责运行任务。(对应Hadoop里的MapReduce)

应用:用户编写的Spark应用程序。

任务:运行在Executor上的工作单元。

阶段:作业调度的基本单位,作业中有多个任务,每组任务就是阶段。

6.spark与Hadoop相比,spark在运算时将运算结果存入内存,hadoop存入磁盘。spark效率更高。

第11章 流计算(简单看看,应该不考)

1.MapReduce-批处理计算,impala-基于历史数据的交互式查询,storm-实时数据流的数据处理

2.流数据特征:


数据快速持续到达,潜在大小也许是无穷无尽的


数据来源众多,格式复杂


数据量大,但是不十分关注存储,一旦经过处理,要么被丢弃,要么被归档存储


注重数据的整体价值,不过分关注个别数据


数据顺序颠倒,或者不完整,系统无法控制将要处理的新到达的数据元素的顺序

3.流计算:实时获取来自不同数据源的海量数据,经过实时分析处理,获得有价值的信息

4.流计算过程:数据实时采集、数据实时计算、实时查询服务

5.开源流计算框架Storm


本文转载自: https://blog.csdn.net/weixin_51603782/article/details/130201319
版权归原作者 Xxiaonian 所有, 如有侵权,请联系我们删除。

“大数据技术原理与应用(7-11)-TYUT(完结)”的评论:

还没有评论