大数据笔试题:超级重要知识点

简答题:(每题5分,总分100分)

  1. Hadoop分布式集群与伪分布式集群的区别
  1. 分布式集群需要多台电脑,,一台为奴隶主机,其他的为奴隶机用来存储数据。
  2. 伪分布式集群可以使用一台电脑搭建,也可以使用多台电脑,只需要在slaves中添加自己的主机名就可以了,其他的与分布式一样。
  1. Hadoop分为三个核心部分,每个部分是什么,有什么功能?
  1. 三个核心:hdfs,mapreduce和yarn
  2. Hadfs:分布式文件系统,mapreduce:分布式计算框架,yarn:资源调度器
  3. 功能:hdfs:由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。用于存储文件,通过目录树来定位文件

             Mapreduce:采用“分而治之”的思想,来处理大规模的数据。将数据拆解成多个部分,并利用集群的多个节点同时进行数据处理,然后将各个节点得到的中间结果进行汇总,经过进一步的计算(该计算也是并行进行的),得到最终结果

  1. Hadoop分布式集群,默认备份数为多少,每个数据块大小是多少?在哪个配置文件中可以修改备份数与每个数据块大小?

默认备份为3份,每块数据大小128M, 在hdfs-site.xml配置文件中可以修改备份数和数据块大小。

<property>

<name>dfs.block.size</name>

<value>128</value>

</property>

   <property>

        <name>dfs.replication</name>

        <value>3</value>

   </property>

 

  1. Hadoop分布式集群中NN和DN、SN,指得是什么?他们分别有什么作用?

NN:Name Node   管理HDFS的命名空间,配置副本策略,管理数据块(Block)映射信息,处理客户端读写请求

DN:DataNode   存储实际的数据块,执行数据块的读/写操作

SN:SecondaryNameNode  辅助NameNode,分担其工作量,比如定期合并Fsimage和Edits,并推送给NameNode ,在紧急情况下,可辅助恢复NameNode

  1. Hadoop分布式集群中,如果NN挂掉,会出现什么情况?如果DN挂掉,会出现什么情况?如果SN挂掉,会出现什么情况?数据会丢失吗?

NN挂掉,数据丢失,分布式集群崩溃,DN挂掉,由于其他机器中存有备份,数据不会丢失,正常情况下对分布式集群不会出现大问题,SN挂掉,数据不会丢失,只是失去了对NameNode中映射的备份,为了防止意外(NN挂掉),需要尽快恢复SN。

  1. Hadoop集群中yarn模式,是什么?在分布式计算中有什么作用?

Yarn模式是资源调度器,

yarn在管理者机器中是ResourceManager,负责 协调和管理整个集群(所有 NodeManager)的资源,响应用户提交的不同类型应用程序的 解析,调度,监控等工作。

在奴隶机中是NodeManager,是真正执行应用程序的容器的提供者, 监控应用程序的资源使用情况(CPU,内存,硬盘,网络),并通过心跳向集群资源调度器 ResourceManager 进行汇报以更新自己的健康状态。同时其也会监督 Container 的生命周期 管理,监控每个 Container 的资源使用(内存、CPU 等)情况,追踪节点健康状况,管理日 志和不同应用程序用到的附属服务(auxiliary service)。

  1. 请描述对文本单词统计中mapreduce的过程。(文字和流程图描述)

过程分为4个阶段:spilt,map,shuffle,reduce

MapReduce过程

1、Split阶段(分片输入)

有两份文件,经过分片处理之后,会被分成三个分片(split1,split2,split3)。依次作为map阶段的输入。

经过分片处理之后,产生了三个分片,每个分片就是一行的三个单词,分别作为 map 阶段的输入。

2、Map阶段

Split 阶段的输出作为 Map 阶段的输入,一个分片对应一个 Map 任务。在 Map 阶段中,读取 value 值,将 value 值拆分为的形式。key 为 每个单词,value 为 1。

Map 阶段需要考虑 key 是什么,value 是什么。特别是 key ,他将作为后面 reduce 的依据。输出结果例如:<Deer, 1>,<River, 1>,<Bear, 1>,<Bear, 1>。

Map 阶段的输出会作为 Shuffle 阶段的输入。

3、Shuffle阶段

理解为从 Map 输出到 Reduce 输入的过程,而且涉及到网络传输。

将 Map 中 key 相同的都归置到一起,作为一个 Reduce 的输入

4、Reduce阶段

将 key 相同的数据进行累计。输出结果例如:<Beer, 3>。

 

  1. Hadoop集群中请描述RM,NM是什么?有什么作用?

RM和NM都是属于hadoop yarn资源调度器:

RM:资源管理者:1、处理客户端请求2、启动或监控 MRAppMaster3、监控 NodeManager4、资源的分配与调度

NM:节点管理者:1、管理单个节点上的资源2、处理来自 ResourceManager 的命令3、处理来自 MRAppMaster 的命令

  1. Hadoop集群中RM中分为几大模块,每个模块有什么作用?

RM分为:两个模块:ApplicationMaster (AM)和Containe。

ApplicationMaster (AM):

         用户提交的应用程序均包含一个AM,负责应用的监控,跟踪应用执行状态,重启失败任务等。ApplicationMaster是应用框架,它负责向ResourceManager协调资源,并且与NodeManager协同工作完成Task的执行和监控。

 

Container:

        Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等,当AM向RM申请资源时,RM为AM返回的资源便是用Container 表示的。 YARN会为每个任务分配一个Container且该任务只能使用该Container中描述的资源。

 

  1. ETL是什么?kettle有什么作用?你常用使用的核心对象有哪些?分别有什么作用?

ETL是:用来描述将数据从来源端经过抽取、转换、加载至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库

核心对象:BI和数据仓库

作用:BI:用来将企业中现有的数据(原始数据或商业数据或业务数据等)进行有效的整合,快速准确地提供报表并提出决策依据,帮助企业做出明智的业务经营决策。

     数据仓库:它为企业提供一定的BI(商业智能)能力,指导业务流程改进、监视时间、成本、质量以及控制。数据仓库的输入方是各种各样的数据源,最终的输出用于企业的数据分析、数据挖掘、数据报表等方向。

  1. hadoop集群中50070端口和8088端口,分别指的什么?

50070:奴隶主机的namenode;

8088:yarn资源调度器中的RM;里面有所有的进程完成情况

  1. 数据仓库hive中,启动hive服务器的命令有哪些?分别代表什么意思?内部表与外部表有啥区别?分区与分桶,指的是什么?

命令:hive --service metastore  启动元数据

hive:本地运行hive命令

hiveserver2:远程服务,开放默认端口 10000

内部表:内部表删除表时,数据也会被删除,

外部表:外部表在创建时需要加external,删除表时,表中的数据仍然会存储在hadoop中,不会丢失

分区:分文件夹:分目录,把一个大的数据集根据业务需要分割成小的数据集

分桶:分数据:分桶是将数据集分解成更容易管理的若干部分

  1. Mysql中左连接与右连接、内连接,笛卡尔集是什么?现有学生表(学生id,学生name,入学时间time)和成绩表(成绩id,学生id,成绩分数core,科目id)为例(并填写相关测试数据),写出SQL语句?

学生id,学生name,入学时间time   成绩id,学生id,成绩分数core,科目id

  1     yan          2019         1       1          100        1

  2         zhang       2018          2       1         90          2

            3       2         80         1

   4       2         70          2

                                      5       3         60           1

                                      6       4         50           2

左连接:select student.* , account.* from student left join account on student.学生id=account.学生id

  1.     yan          2019         1       1          100        1
  1.     yan          2019         2       1         90          2
  2.         zhang       2018          3       2         80         1

 2         zhang       2018          4       2         70          2

右链接:select student.* , account.* from student right join account on student.学生id=account.学生id

1        yan          2019         1       1          100        1

1       yan          2019         2       1         90          2

2        zhang       2018          3       2         80         1

2        zhang       2018          4       2         70          2

 

                                                  5       3         60           1

                                     6       4         50           2

 

 

 

内连接:select student.* , account.* from student inner join account on student.学生id=account.学生id

1        yan          2019         1       1          100        1

1       yan          2019         2       1         90          2

2        zhang       2018          3       2         80         1

2        zhang       2018          4       2         70          2

 

笛卡尔集:select student.* , account.* from student cross account on student.学生id=account.学生id

1     yan          2019         1       1          100        1

1     yan          2019    2       1         90          2

1     yan          2019    3       2         80         1

1     yan          2019    4       2         70          2

1     yan          2019    5       3         60           1

1     yan          2019    6       4         50           2

2         zhang       2018           1       1          100        1

2         zhang       2018    2       1         90          2

2         zhang       2018    3       2         80         1

2         zhang       2018           4       2         70          2

2         zhang       2018          5       3         60           1

2         zhang       2018          6       4         50           2

 

 

  1. 什么是BI,什么是数据仓库?为什么需要用数据仓库hive?

BI:即商务智能,它是一套完整的解决方案,用来将企业中现有的数据(原始数据或商业数据或业务数据等)进行有效的整合,快速准确地提供报表并提出决策依据,帮助企业做出明智的业务经营决策。

数据仓库:是一个很大的数据存储集合,出于企业的分析性报告和决策支持目的而创建,对多样的业务数据进行筛选与整合。

为什么:hive为企业提供一定的BI(商业智能)能力,指导业务流程改进、监视时间、成本、质量以及控制。数据仓库的输入方是各种各样的数据源,最终的输出用于企业的数据分析、数据挖掘、数据报表等方向。

  1. 数据仓库Hive跟hadoop集群,有什么关系?使用hive的好处是什么?

关系:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能,hadoop是用来存储数据的,hive是用来操作数据的。hive的数据文件存储在hdfs上,至于hdfs文件位置是由hadoop管理的。

好处:1)操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)
2)避免了去写MapReduce,减少开发人员的学习成本
3)Hive的执行延迟比较高,因此Hive常用于数据分析,对实时性要求不高的场合
4)Hive优势在于处理大数据,对于处理小数据没有优势,因为Hive的执行延迟比较高
5)Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数

  1. Hadoop集群中hadoop namenode –format ,可否在任意节点出,多次执行这条语句?如果执行多次语句后,会出现什么样的结果?如果在节点中执行语句,怎么修改?

不能,将hadoop格式化,将集群中所有的电脑name下的文件全部删除,重新启动hadoop

  1. 如何创建hive的外部表(包含分区与分桶)?在创建表时候和后期导入数据中,需要注意哪些问题?如何向hive的外部表中导入本地数据文件data.csv和外部hdfs上的/data.txt文件?

创建表的时候加入关键字:external数据字段数量,类型要一致,分隔符要相同,导入数据时要不要覆盖,不覆盖的情况下不能用overwrite。

本地数据:load data local inpath '/home/user/data.csv' into table 导入的表名;

Hdfs:load data inpath '/home/user/data.txt' into table 导入的表名;

  1. hive中集合数据类型什么?有什么作用?什么情况下,hive需要使用集合类型?

数据类型:包括6个基本类型:整数,布尔类型,浮点数,字符,时间类型。字节数组

               2个集合数据类型: struct,map,array

基本数据类型表达不了的情况下使用集合类型

  1. hive中分桶与分区,有什么区别?外部表与内部表有什么区别?
  2. hive中列式存储与行式存储,你知道的类型有哪些?他们有什么区别?怎么理解列式存储?

行式存储:tetxfile

列式存储:rcfile,orcfile,parquetfile,avrofile,sequencefile

区别:列式存储使用的是二进制。打开数据为乱码。

理解:列式存储使查询更方便,快捷,例如。Select * from stufent.age=19;

使用列式存储的时候,直接查抄age这一列,将age不等于19的去除,在查找age=19的其他数据。大大加快了查询的时间。

大数据面试笔试资料-56家互联网大公司面试笔试题资料整理汇总: hive面试.doc 京东.jpg 笔试题1.docx 笔试题10.jpg 笔试题11.JPG 笔试题12_搜狐 笔试题13_九章云极科技有限公司 笔试题14_北京东方国信科技股份有限公司-联通事业部-笔试题 笔试题15_百分点 笔试题16_Admaster 笔试题2.docx 笔试题3.docx 笔试题4_boss直聘.docx 笔试题5_面试题4的实现思路.docx 笔试题6.jpg 面试总结 面试题1.doc 面试题2.doc 面试题3.doc 面试题7+面试题8+面试题9_北京广视通达数字网络科技有限公司 中企动力面试总结?-面试题1 畅捷通(用友集团)?-面试题2 麦达数字面试?-面试题3 boss直聘面试?-面试题5 博易智软(北京)技术股份有限公司?面试题7 公安部第一研究所?面试题7 IBM?面试题7 车网互联?面试题7 凯立德科技股份有限公司?面试题7 北京捷通华声语音技术有限公司?面试题7 北京法意科技有限公司?面试题7 大树科技(重点)?面试题7 北京XXX宇有限公司??面试题8 盛世全景?面试题8 华胜天成?面试题8 联龙博通?面试题8 大麦网?面试9 京东金融?面试10 滴滴打车 架构师?面试11 神州?面试11 百分点科技?面试11 锐安科技?面试12---有笔试 人人贷?国舜科技?面试13 宜信?面试16 明略数据?面试17 爱奇艺面试?面试18---爱奇艺明确有背景调查,记在面试评测上面,由hr写背景调查评测----(直接卡死了) 奥维云网?面试26 喜马拉雅FM?中星电子?银橙传媒?面试27 电信云计算?面试题29 乐视?面试题29 优酷?面试题29 无双科技公司?面试题30 亿玛在线公司?面试题30 58同城?面试题30 talkingDate?面试题30 慕华信息科技有限公司?面试题30 美团网?面试题31 LeanCloud?面试题31 筑巢新游?面试题31 阿里巴巴?面试题32 博睿宏远?面试题33 融易通?面试题33 中国互联网络信息中心?面试题33? 优酷土豆?面试题33 乐视?面试题41 TalkingData?面试题41 网德天下?面试题41 东方国信?面试题41 畅捷通?面试题41 太极?面试题41 北京四中网校?面试题41 SenseTime?面试题41 易观智库?面试题41 银创科技?面试题41 京东?面试题41 壕鑫互连?面试题41 滴答拼车?面试题41
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值