大数据面试部分:部分面试题汇总

1.

一个数组快可以对应很多个,或者一个切片

一个split对应一个map

一个map对应一个或者n个reduce

Map的输出正好是reduce的输入。

Shuffer:洗牌

数据向计算移动。

如何让shuffer的效率最高。

split一条一条,以一条记录为依据,也就是换行符。

映射成key -value的形式。

相同的key为一组。

面试的时候,buffer额调优,会是加分项。

有很多的机械读写,线性读写。

相同的key,具有相同的哈希值,就会去到相同的分区里。

排序的顺序是:先按分区排序,先按P排序,再按K排序

P .K排序。

相同分区排在一起,分区内相同的key排在一起。

大数据面试部分:部分面试题汇总

2.

 

Shuffer是数据向计算的移动的过程

Map的输出是reduce的输入。

shuffer的过程,从哪里开始,到哪里结束。

Shuffer:map输出——p(计算key,value)的计算——>buffer————>sort————>reduce

不好意思,我看的源码,没想到您的理解层次很深。

Map易于程序人员开发分布式开发技术

3.hdfs的读写流程

4.

 

把新用户模块和活跃用户模块去实现

关于架构图的设计:

那个为什么要放在这个位置

为什么要这么设计

 

 

Hbase在选择节点的时候,应该怎么搭建

原因在于缓存和内存

最好应该把hbase集群单独拿出来,因为hbase很耗费内存

Hadoop,hbase,hive

版本选择很重要,因为有版本的兼容性。是一套,这几个版本是最稳定,最安全的版本,比较老。

Hive和hbase在整合的时候容易出现问题,

Spark:在2.2之前,最高支持的hive是1.2,而2.3刚出,这就意味着hive不能动,所以hbase就不能动。

因此在公司做软件版本的时候,要有一个取舍,具体要去官网上找。

Cloudera,cdh,

搭建cdh平台,自己建立文件部署。

Cdh支持的hive版本是1.2,

版本的选择很关键,新版本肯定有新特性,但是要考虑版本的兼容性。

面试题:你们公司spark用的是几?为什么不用最新的版本。

因为版本的兼容性。

面试题:本项目中,怎么介绍。

之前做过大型项目,也有日志,和之前项目挂钩,问道前边的东西的时候,也会。

Hadoop:

Spark:

机器学习:

可以做总结,但是不需要复习。