面试
##大数据开发实习1.0
author:slightwjq
2023年4月13日
map阶段:首先通过InputFormat把输入目录下的文件进行逻辑切片,默认大小等于block大小,并且每一个切片由一个maptask来处理,map到reduce的分区靠hash
shuffle阶段:map端shuffle:将map后的<k,v>写入环形缓冲区
reduce阶段:key相同的数据会调用一次reduce方法,每次调用产生一个键值对,最后将这些键值对写入到HDFS文件中
SQL优化:主要是减少shuffle阶段的IO
分组聚合优化:set hive.map.aggr=true,先在map端分组聚合再IO
join优化:
数据倾斜:是发生在Reduce端的,万能方法,map端加盐,reduce端减盐
join:小表放前,大表放后,左查询,根据小表为主进行查询
hdfs默认保存是3份,一个块是128M
NameNode存储了元数据,并且调度,协调整个集群
DataNode主要用来存储数据
zookeeper 是一个分布式协调服务
分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能
hive没有索引
hive延迟性高,原因就是上边一点所说的,而mysql延迟性低;
数据规模:hive存储的数据量超级大,而mysql只是存储一些少量的业务数据;
底层执行原理:hive底层是用的mapreduce,而mysql是excutor执行器;
hadoop集群的3个xml文件
core-site.xml、hdfs-site.xml、mapred-site.xml
RDD就是弹性分布式数据集
spark是基于内存计算,mapreduce是基于磁盘运算,所以速度快
2、spark拥有高效的调度算法,是基于DAG,形成一系列的有向无环图
3、spark 是通过RDD算子来运算的,它拥有两种操作,一种转换操作,一种action操作
Task是任务运行的最小单位。最终是要以task为单位运行在executor中
spark工作机制:用户在客户端提交job作业后,会由driver运行main方法并创建SparkContext上下文。执行RDD算子,形成DAG图
常用端口:
Hadoop NameNode:8020、50070、9000 core-site中更改
Web端口:50070
Yarn ResourceManager:8032、8088
Master:7077/8080
- 本文作者: 魏静崎
- 本文链接: https://slightwjq.github.io/2023/10/17/大数据面试总结1.0/
- 版权声明: 该文章来源及最终解释权归作者所有