以下为《大数据技术复习题》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
什么是大数据?
答:
一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型及价值密度四大特征。
简述大数据的4V特征。
答:
①大量:数据量的存储单位从过去的GB到TB、甚至达到PB、EB;
②多样:数据类型复杂多样、包括结构型数据、非结构性数据、源数据、处理数据等;
③高速:大数据采集、处理计算速度较快、能满足实时数据分析需求;
④价值:将原始数据经过采集、清晰、深度挖掘、数据分析后具有较高的商业价值。
什么是Flume?
答:
Flume原是Cloudera公司提供的一个高可用的、高可靠的、分布式海量日志采集、聚合和传输系统、而后纳入到了Apache旗下,作为一个顶级开源项目。
Flume运行机制。
答:
①Source(数据采集器):用于源数据的采集(从一个Web服务器采集源数据),然后将采集到的数据写入到Channel中并流向 Sink;
②Channel(缓冲通道):底层是一个缓冲队列,对Source中的数据进行缓存,将数据高效、准确地写人 Sink,待数据全部到达 Sink后,Flume就会删除该缓存通道中的数据;
③Sink(接收器):接收并汇集流向Sink 的所有数据,根据需求,可以直接进行集中式
存储(采用 HDFS进行存储),也可以继续作为数据源传入其他远程服务器或者Source中。
在整个数据传输的过程中, Flume将流动的数据封装到一个event(事件)中,它是Flume内部数据传输的基本单元。一个完整的event包含 headers和 body,其中headers 包含了一些标识信息,而body中就是 Flume收集到的数据信息。
写出你刚学习的Flume Source类型。
①Avro Source ②Spoling Directory Source ③Taildir Source
写出你刚学习的Flume Channels类型。
①Memory Channel ②File Channel
写出你刚学习的Flume Sink类型。
①FS Sink ②Logger Sink ③Avro Sink
HBase是基于列进行数据的存储。
HBase是一个高可靠性、高性能、面向列、可伸缩的分布式数据库。
查找value-2,怎么定位?
{r2,t2,col-2,value-2}
简述spark的适用场景
spark是基于内存的迭代计算框架,适用于需要多次操作特定数据集的应用场合
2.由于RDD的特征,spark不适用那种异步细粒度更新状态的应用。例如wb服务
的存储或者是增量的web虫和索引
3.数据量不是特别大,但是要求实时统计分析需求
HBase的常见SHell操作?
①create:创建表:create’table name’,’column family’
②put:插入或更新数据:put’table name’,’row’,’column family:column name’,’new value’
③scan:扫描表并返回表的所有数据。
④describe:查看表的结构。
⑤get:获取指定行/列数据:get’table name’,’row’
⑥count:统计表中数据行数。
⑦delete:删除指定行/列数据:delete’table name’,’row’,’column name’
⑧truncate:删除整个表数据、结构还在:truncate’table name’
⑨drop:删除整个表数据、结构都删除:drop’table name’
写出HBase架构相关术语。
客户端:Zookeeper:监控HRegionServer状态。
MemStore:内存级缓存,HBase制性写操作首先会将数据写入Memstore。
StoreFile:Memstore中的数据写到文件后就是StoreFile
HFile:键值对类型的数据均以HFile文件格式进行存储
HLog:预写日志文件,负责记录HBase修改
HBase有两个特殊的表,
分别是Root表和Meta表,其中Root表的位置存储在Zookeeper中。
写出HBase读数据的流程。
答:
客户端从Zookeeper中获取meta表所在的regionserver节点信息;
客户端访问meta表所在的redgionserver节点;
客户端访问具体的region所在的regionserver,找到相应的region及store
HegionServer把查询到的数据相应给client。
Zookeeper有哪些特征?
①全局数据一致性 ②可靠性 ③顺序性 ④数据更新原子性 ⑤实时性
简述Zookeeper集群的角色和功能。
答:
角色:Leader(领导者)、Follower(跟随者)、Observe(观察者)
功能:
①Leader:它是Zookeeper集群工作的核心也是事务性请求(写操作)的唯一调度和处理者它保证集群事务处理的顺序性,同时负青进行投票的发起和决议,以及更新系统状态。
②Follower:它负责处理客户端的非事务(读操作)请求,如果接收到客户端发来的事务性请求,则会转发给Leader,让 Leader讲行处理,同时还负责在Leader 选举过程中参与投票。
③Observer:它负责观察Zookeeper集群的最新状态的变化,并且将这些状态进行同步。对于非事务性请求可以进行独立处理;对于事务性请求,则会转发给Leader服务器进行处理。它不会参与任何形式的投票,只提供非事务性的服务,通常用于在不影响集群事务处理能力的前提下,提升集群的非事务处理能力(提高集群读的能力,也降低了集群选主的复杂程度)。
Znode节点有四种类型分别是:
①PERSISTENT:永久节点;
②EPHEMERAL:临时节点;
③PERSISTENT_SEQUENTIAL:序列化永久节点;
④EPHEMERAL_SEQUENTIAL:序列化临时节点。
简述Watch机制的特点。
①一次性触发:当Watch的对象发生改变时,将会触发此对象上Watch所对应的事件,这种监听是一次性的,后续再次发生同样的事件,也不会再次触发。
②事件封装:Zookeeper使用WatchedEvent对象来封装服务端事件并传递。该对象包含了每个事件的3个基本属性,即通知状态(keeperState),事件类型(EventType)和节点路径(path)。
③异步发送:Watch的通知时间是从服务端异步发送到客户端的。
④先注册再触发:Zookeeper中的Watch机制,必须由客户端先去服务端注册监听,这样才会触发事件的监听,并通知给客户端。
Zookeeper有哪两种选举机制。
全新集群选举和非全新集群选举。
Zookeeper的Shell操作有那些命令?
ls/:使用ls命令来查看Zookeeper中所包含的内容。
ls2/:查看当前节点数据并能看到更新次数等数据。
create/zk”test”:在当前目录创建一个新的Znode节点zk以及它关联的字符串。
get/zk:获取zk所包含的信息。
set/zk”zkback”:对zk所关联的字符串进行设置。
delete/zk:将节点Znode递归删除。
rmr:将节点Znode递归删除
help:帮助命令。
什么是数据仓库?
数据仓库是一个面向主题的、集成的、随时间变化的,但信息本身相对稳定的数据集合,用于支持企业或组织的决策分析处理。
数据仓库的结构由哪四部分组成?
数据源——数据仓库的基础,即系统来源。
数据存储及管理——整个数据仓库的核心。
OLAP服务器。
前端工具。
在数据仓库建设中,一般围绕哪两种模型来设置数据类型?
星状模型和雪花模型。
Hive系统架构组成主要包含哪四部分?
用户接口;
跨语言服务;
底层的驱动引擎;
元数据存储。
Hive中所有的数据都存储在HDFS中,它包含哪些数据类型?
数据库、表、分区表、桶表。
26Hive的安装模式有哪三种?
嵌入模式、本地模式、远程模式。
Yarn核心组件有哪些,各自功能是什么?
YARN体系结构的核心组件有3个。
ResourceManager:是一个全局的资源管理系统,它负责的是整个YARN集群资源的监控、分配和管理工作,具体工作为:负责处理客户端请求;接收和监控NodeManager(NM)的资源情况;启动和监控ApplicationMaster(AM);资源的分配和调度。
NodeManager:是每个节点上的资源和任务管理器,一方面,它会定时地向ResourceManager汇报所在节点的资源使用情况;另一方而,它会接收并处理来自ApplicationMinster的启动停止容器(Container)的各种请求。
ApplicationMaster:用户提交的每个应用程序都包含一个 ApplicationMaster,它负责协调来自ResoureeMannger的资源,把获得的资源分配给内部的各个任务,从而实现“二次分配”。除此之外,ApplicationMaster还会通过NodeManager 监控容器的执行和资源使用情况,并在任务运行失败时重新为任务申请资源以重启任务。当前的 YARN自带了两个ApplicationMaster的实现,一个是用于演示 ApplicationMaster 编写方法的实例程序DistributedShell,它可以申请一定数目的Container以并行方式运行一个Shell命令或者Shell脚本;另一个则是运行 MapReduce 应用程序的 ApplicationMaster- MRAppMaster。
简述YARN的工作流程。
(1)用户通过客户端Client向Yarn提支应用程序Application提交的内容
(2)YARN中的Resource Manager接收到应用程序的请求后,Resource Manager中的调度器会为应用程序分配一个容器
(3) Application Master被创建后,首先向Resource Manager注册信息.
(4) Application Master采用轮询的方式通过RPC协议向Resource Managerr申请资源。
(5) Resource Manager向提出申请的Application Master分配资源.
(6)Node Manager为任务设置好法行环境后,将任务启动命令写到一个脚本中,并通过
运行该脚本启动任务
(7)让Application Master 随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。
(8)应用运有结束后,Application Master向Resource Manager注销自己,并关闭自己。
什么是Hadoop,其核心组件包括那些?
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统,其中一个组件是HDFS。Hadoop的框架最核心的设计就是HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。
随着Hadoop的不断发展,Hadoop生态系统越来越完善,现如今已经发展成一个庞大的生态系统,包括Ambaric(提供管理和监控工具)、Zookeeper(分布式协调服务)、Yarn(资源管理平台)等。
虚拟机客隆分为完整克隆和链接克隆两种。
IP地址和MAC地址的区别?
IP地址(类似于通信地址),网络层上使用的地址,是一种可配置的(服务商)提供、层次化的编址。
MAC地址(类似于人的姓名),数据链路层上使用的地址,是一种静态的(网卡内置)、非结构化的编址。
什么是SSH?
SSH是一种网络安全协议,专为远程登录会话和其他网络服务提供安全性的协议。
什么是JVM、JDK?
JVM是Java虚拟机的缩写,他是一个虚构出来的计算机。它通常是在实际的计算机上仿真模拟各种计算机功能来实现的。
JDK是针对Java开发员的产品,它是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备的上的java应用程序,它包含了JAVA的运行环境和开发JAVA工具,是整个java开发的核心。
hdfs和yarn的相关进程有哪些?
Hdfs:NameNode、DataNode、secondar、ynamenode
Yarn:NodeManger、ResourceMaanager
34.传统的文件系统在存储数据时,会遇到的两个问题:
一只有一个服务器,不能横跨多个机器
二单个硬盘存放数据,数据可靠性难以保证,存储空间利用率低,数据分散
35.在Hadoop2.x版本中,默认大小是128M
HDFS的基本概念:NameNode(名称节点)、DataNode(数据节点)、Block(数据块)、Rack(机架)、Metadata(元数据)
NameNode是HDFS集群的主要服务器,通常称为名称节点或者主节点。NameNode主要以元数据的形式进行管理和存储,用于维护文件系统名称并管理客户端对文件的访问。
DataNode是HDFS集群中的从服务器,通常称为数据节点,文件系统存储文件的方式是将文件切分成多个数据块,这些数据块实际上是存储在DataNode节点中的。
36.HDFS的特点,优缺点
优点:高某某、流式数据访问、支持超大文件、高数据吞吐量、可构建在廉价的机器上
缺点:高某某、不适合小文件存取场景、不适合并发写入。
37.启动和关闭Hadoop集群
单节点逐个启动和关闭;脚本一键启动和关闭。
38.HDFS的存储架构:主从架构
39.HDFS集群:NameNode、DataNode
40.HDFS文件读写原理
HDFS写数据原理:12步(P53)
①客户端发起文件上传请求,通过RPC与NameNode建立通信
②NameNode检查元数据文件的系统目录树
③若系统目录树的父目录不存在该文件相关信息,返回客户端可以上传文件。
④客户端请求上传第一个Block数据块,以及数据块副本的数量
⑤NameNode检测元数据文件中DataNode信息池,找到可用的数据节点
⑥将可用的数据节点的IP地址返回给客户端
HDFS读数据原理:4步(P55)
41.HDFS Shell介绍
Ls命令:查看指定路径的当前目录结构
Mkdir命令:在指定路径下创建子目录
Put命令:将本地系统的文件或文件夹复制到HDFS上去
填空题
Azkaban是由Linkedin公司开源的一个批处理工作流作业,用于在一个工作流内以一个特定的顺序运行一组工作和流程。
Azkaban定义了一种kv文件格式来建立任务之间的依赖关系,并提供一个易于使用的UI维护和跟踪工作流。
Azkaban工作流管理器的特点是所有任务资源文件都需要打成一个zip包某某。
Azkaban工作流管理器由3个核心部分组成,具体分别是Relational Database、Azkaban webserver、AzkabanExecutor Server。
Azkaban提供3种部署模式:轻量级的solo server made、重量级的two server made和distributed multiple-executor made。
在MapReduce中,Map阶段负责将任务分解,Reduce阶段将任务合并。
MapReduce工作流程分为分片格式化数据源、执行MapTask、执行shuffle过程、执行ReduceTask和写入文件
Partitioner组件目的是将key均匀分布在ReduceTask上。
大数据的4V特征包含大量、多样、高速和价值。
Hadoop2.x版本中的HDFS是由NameNode、DataNode、Secondary NameNode组成。
Hadoop发行版本分为开源社区版、商业版。
目前Apache Hadoop发布的版本主要有Hadoop1.x、Hadoop2.x、Hadoop3.x。
Hadoop集群部署方式分别是独立模式、伪分布式模式、完全分布式模式。
加载环境变量配置文件需要使用 source /etc/profile命令。
格式化HDFS集群命令是hadoop namenode -format。
脚本一键启动Hadoop集群服务命令是start-all.sh。
Hadoop默认开设HDFS文件系统端口号50070和监控Yarn集群端口号___8088___。
NameNode用于维护文件系统名称并管理客户端对文件的访问,DataNode存储真实的数据块。
NameNode与DataNode通过___心跳监测____机制互相通信。
NameNode以元数据形式维护着______fsimage、EditLog_文件。
在MapReduce中,Map阶段负责将任务分解,__Reduce____阶段将任务合并。
MapReduce工作流程分为分片、格式化数据源、执行MapTask、执行Shuffle过程、执行ReduceTask、写入文件。
Partitioner组件目的是将key均匀分布在ReduceTask上。
Zookeeper集群主要有Leader、Follower、Observer三种角色。
Znode有两种节点,分别是永久节点、临时节点。
Zookeeper引入Watch机制实现分布式的通知功能。
Yarn的核心组件包含___ResourceManager、NodeManager、ApplicationMaster_____。
ResourceManager内部包含了两个组件,分别是调度器(Scheduler)、应用程序管理器(Application Manager)_。
数据仓库是面向__主题的、集成的、非易失的__和时变的数据集合,用于支持管理决策。
Hive默认元数据存储在 Derby数据库数据库中。
Hive建表时设置分割字符命令row format delimited fields terminated by char
Hive查询语句select ceil(2.34)输出内容是3。
Hive创建桶表关键字clustered by,且Hive默认分桶数量是-1。
Flume分为两个版本,分别是___Flume-og、Flume-ng___。
Flume的核心是把数据从数据源通过___数据采集器(Source)_收集过来,再将收集的数据通过___缓冲通道(Channel)汇集到指定的接收器(Sink)。
Flume采用三层架构,分别为_____agent,collector和storage_____,每一层均可以水平扩展。
Flume的负载均衡接收器处理器支持使用_____round_robin(轮询)和random(随机)机制进行流量分配,其默认选择机制为round_robin__。
Sqoop主要用于在Hadoop、关系型数据库_之间进行传输数据。
Sqoop底层利用___MapReduce_ 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 开启功能。(√ )
29、Hive分区字段不能与已存在字段重复,且分区字段是一个虚拟的字段,它不存放任何数据,该数据***指定的数据文件(√ )
Flume Agent是一个JVM进程,它承载着数据从外部源流向下一个目标的三个核心组件是Source、Channel和Sink(√ )
31、Taildir Source用于观察指定的文件,可以实时监测到添加到每个文件的新行,如果文件正在写入新行,则此采集器将重试采集它们以等待写入完成(√ )
32、Flume采集方案的名称、位置、以及sources、channels、sinks参数配置信息可以随定义(X)
33、在整个数据传输的过程中,Flume将流动的数据封装到一个event(事件)中,它是Flume内部数据传输的基本单元( √ )
34、Sqoop是关系型数据库与Hadoop之间的数据桥梁,这个桥梁的重要组件是Sqoop连接器。√
35、Sqoop从Hive表导出MySQL表时,首先需要在MySQL中创建表结构。(√ )
36、--target-dir参数是指定HDFS目标目录地址,因此需要提前创建目标文件。(X)
[文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]
以上为《大数据技术复习题》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。