c罗在桐梓

q,1=
在Hadoop2.0中,集群会启动哪些进程,他们的作用分别是什么:
1.NameNode它是hadoop中的主服务器,管理文件系统名称空间和对集群中存储的文件的访问,保存有metadate。
2.SecondaryNameNode它不是namenode的冗余守护进程,而是提供周期检查点和清理任务。帮助NN合并editslog,减少NN启动时间。
3.DataNode它负责管理连接到节点的存储(一个集群中可以有多个节点)。每个存储数据的节点运行一个datanode守护进程。
4.ResourceManager(JobTracker)JobTracker负责调度DataNode上的工作。每个DataNode有一个TaskTracker,它们执行实际工作。
5.NodeManager(TaskTracker)执行任务。

w,1=
简述HDFS的冗余数据保存策略:
每个文件都会有多个副本分散在不同的DataNode上,NameNode时刻监视文件的副本量,如果小于设定的值就找一台DataNode增加副本数。
一般至少有3分副本才能保证数据安全,保证某个DataNode在死掉的情况下依然能提供客户端及时获取文件数据。

e,1=
画出HDFS文件写入的流程图,并简述写入数据的过程:
1.客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。
2.NameNode返回是否可以上传。不能上传会返回异常。
3.确定可以上传,客户端请求第一个block上传到哪几个datanode服务器上。
4.NameNode返回3个datanode节点,假定分别为dn1,dn2,dn3。
5.客户端通过FSDataOutputStream模块请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通信管道建立完成。
6.dn1,dn2,dn3逐级应答客户端。
7.客户端开始往dn1上传第一个block(先从磁盘读取数据放到一个本地内存缓存),以packet(64KB)为单位,
dn1收到一个packet就会传给dn2,dn2传给dn3;dn1每传一个packet会放入一个应答队列等待应答。
8.当一个block传输完成之后,客户端再次请求NameNode上传第二个block的服务器。(重复执行3-7步)。

r,1=
HBase的三层结构中各层次的名称和作用:
第一层     Zookeeper文件   记录了-ROOT-表的位置信息
第二层      -ROOT-表    记录了.META.表的Region位置信息
-ROOT表只能有一个Region。通过-ROOT-表,就可以访问.META.表中的数据
第三层      .META.表
记录了用户数据表的Region位置信息,
.META.表可以有多个Region,保存了HBase中所有用户数据表的Region位置信息

t,1=
Store的工作原理:
Store是Region服务器的核心,每个Store对应表中一个列族的存储,
每个Store包含一个MemStore缓存和若干个StoreFile文件。
MemStore是排序的内缓冲区,当用户写入数据时,系统会先将数据放入到MemStore缓存,
当Memstore缓存满时,会被刷新到磁盘中的一个MemFile文件中;MemFile文件数量过多时会触发合并文件操作,当MemFile单个文件大小过大时,会触发文件分裂操作。

f,1=
在HBase中,每个Region服务器维护一个HLog,而不是每个Region都单独维护一个HLog,试说明这种做法的优点和缺点:
优点: 多个region对象的更新操作所发生的日志修改,只需要不断把日志记录追加到单个日志文件中,不需要同时打开、写入到多个日志文件中.
缺点:如果一个region服务器发生故障,为了恢复其上次的region对象,需要将region服务器上的对象,需要将region服务器上的
hlog按照其所属的region对象进行拆分,然后分发到其他region服务器上执行恢复操作.

y,1=
Hadoop MapReduce有哪些不足之处,试列举Hadoop MapReduce的几个缺陷,Spark的出现弥补了Hadoop MapReduce的缺陷,相对于Hadoop MapReduce,Spark具备哪些优点
(1).Hadoop存在以下缺点:
①表达能力有限;②磁盘IO开销大;③延迟高
(2).Spark主要有如下优点:
①Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,
还提供了多种数据集操作类型,编程模型比MapReduce更灵活;
②Spark提供了内存计算,中间结果直接存放内存中,带来更高的迭代运算效率;
③Spark基于DAG的任务调度执行机制,要优于MapReduce的迭代执行机制。

o,1=
Spark的几个主要概念:RDD、DAG、阶段、分区、窄依赖、宽依赖:
(1)RDD:是弹性分布式数据集(resilient distributed dataset)的英文缩写,是分布式内存的一个抽象概念,
提供了一种高度受限的共享内存模型.
(2)DAG:是directed acyclic graph(有向无环图)的英文缩写,反映rdd之间的依赖关系.
(3)阶段:是作业的基本调度单位,一个作业会分为多组任务,每组任务被称为“阶段”,或者也被称为“任务集”.
(4)分区:一个rdd就是一个分布式对象集合,本质上是一个只读的分区记录集合,每个rdd可以分成多个分区,每个分区就是一个数据集片段.
(5)窄依赖:父rdd的一个分区只被一个子rdd的一个分区所使用就是窄依赖.
(6)宽依赖:父rdd的一个分区被一个子rdd的多个分区所使用就是宽依赖。

a,1=
Spark对RDD的操作主要分为行动和转换操作两种,试述两种操作的区别:
行动(Action):在数据集上进行运算,返回计算值。
​转换(Transformation):基于现有的数据集创建一个新的数据集。

s,1=
简述流水线(pipeline)几个主要部件和主要作用,使用pipeline来构建机器学习工作流有什么好处:
1.Transformer:通过方法transformer()在原始数据上增加一列或者多列来将一个DataFrame转化为另一个DataFrame;
2.Estimatir:评估器通过调用fit()方法,接受一个DataFrame,产生一个模型Transformer。
作用:使用pipeline来构建机器学习工作流可以将多次IO往返的时间缩减为一次,
前提是pipeline执行的指令之间没有因果相关性。

d,1=
为什么Spark更适合进行机器学习各种算法的处理:
1. Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型,编程模型比MapReduce更灵活;
2.Spark提供了内存计算,中间结果直接放到内存中,带来了更高的迭代运算效率;
3.Spark基于DAG的任务调度执行机制,要优于MapReduce的迭代执行机制。

f,1=
简述Spark的特点和优势:
spark的特点:
1.运行速度快:使用DAG执行引擎以支持循环数据流与内存计算;
2.容易使用:支持使用Scala、Java、Python和R语言进行编程,可以通过Spark Shell进行交互式编程 ;
3.通用性:Spark提供了完整而强大的技术栈,包括SQL查询、流式计算、机器学习和图算法组件;
4.运行模式多样:可运行于独立的集群模式中,可运行于Hadoop中,也可运行于Amazon EC2等云环境中,并且可以访问HDFS、Cassandra、HBase、Hive等多种数据源 ;
优势:
1.Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型,编程模型比Hadoop MapReduce更灵活;
2.Spark提供了内存计算,可将中间结果放到内存中,对于迭代运算效率更高;
3.Spark基于DAG的任务调度执行机制,要优于Hadoop MapReduce的迭代执行机制 ;

g,1=
简述什么是宽依赖和窄依赖,并举例:
宽依赖是指1个父RDD分区对应多个子RDD分区。比如groupByKey,reduceByKey,sortByKey;
窄依赖是指1个父RDD分区对应1个子RDD的分区。比如map,filter,union等算子。

h,1=
设计一个流计算系统,它至少应达到哪些需求:
1高性能;2.海量式;3.实时性;4.分布式;5.易用性;6.可靠性.

j,1=
简述RDD和DataFrame的区别:
1.RDD 是整个 Spark 平台的存储、计算以及任务调度的逻辑基础,更具有通用性,适用于各类数据源
而 DataFrame 是只针对结构化数据源的高层数据抽象;
2.RDD 是分布式的 Java 对象的集合, DataFrame 则是分布式的 Row 对象的集合;
3.RDD 是 Spark 的数据核心抽象, DataFrame 是 Spark 四大高级模块之一 Spark SQL 所处理数据的核心抽象;

你可能感兴趣的:(hadoop)