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:
机器学习:
可以做总结,但是不需要复习。