大数据理论知识合集
对于大数据理论方面知识进行搜集整理
Hadoop
1.HDFS的组成
1 | 1.NameNode: |
2.HDFS读写数据流程
1 | 读 |
3.MR的shuffle过程
1 | Map端Shuffle |
4.读取文件时,块损坏操作
1 | Client读取DataNode上的块之后会进行checksum验证 |
5.文件上传时,DataNode宕机
1 | Client上传文件时与DataNode建立的文件流管道,管道正方向是Client向DataNode发送数据包 |
6.NameNode启动时操作
1 | 首次启动 |
7.Secondary NameNode工作机制
1 | 合并NameNode的edits到fsimage文件中 |
8.NameNode的HA
1 | 元数据信息同步在HA方案中采用共享存储 |
9.HA的脑裂
1 | 上面HA的主备切换,依靠的ZKFC进行强制关闭,假如ZKFC假死,没有关闭成功 |
10.小文件过多如何避免
1 | HDFS元数据信息存储在NameNode内存,过多的小文件会压垮NN的内存 |
Yarn
1.Yarn的组成
1 | 1.ResourceManager |
2.Yarn执行流程
1 | 1.作业提交 |
3.Yarn的资源调度模型
1 | FIFO |
Hive
1.Hive怎么解决数据倾斜的问题?
1 | 使map的输出数据更均匀的分布到reduce中去,是我们的最终目标 |
2.数据倾斜有哪些原因?
1 | key分布不均匀 |
3.Hive的工作过程
1 | A.用户提交查询等任务给Driver; |
4.Hive优化器的主要功能
1 | A.将多Multiple Join合并为一个Muti-Way Join; |
5.ORC,Parquet列式存储优点
1 | Parquet |
6.SortBy和OrderBy区别
1 | order by全局排序 |
7.Hive小文件过多
1 | concatenate命令,合并小文件(只支持RCFILE和ORC文件类型) |
HBase
1.HBase的系统架构
1 | 1.Client |
2.HBase的存储结构
1 | 1.基本结构 |
3.Compact操作
1 | Minor |
Spark
1.SparkSQL和SparkStreaming哪个比较熟?
1 | 都还行,SparkSQL的DataFrame或者DataSet和SparkStreaming的DStream都是基于SparkCore的; |
2.说一下SparkShuffle
1 | Spark的shuffle也是一处理问题的思想:分而治之。 |
3.SparkShuffle的调优点?
1 | Shuffle的选择 |
4.缓存这块熟悉吗,介绍缓存级别
1 | Spark的缓存机制是Spark优化的一个重要点; |
5.说一下cache和checkpoint的区别
1 | catche是将共用的或者重复使用的RDD按照持久化的级别进行缓存 |
6.Spark运行模式local
、local[]
和local[*]
分别是什么?
1 | 该模式被称为Local[N]模式,是用单机的多个线程来模拟Spark分布式计算 |
7.Spark怎么设置垃圾回收机制?
1 | Spark中各个角色的JVM参数设置: |
8.一台节点上以root用户执行一个spark程序,以其他非root用户也同时在执行一个spark程序,这时以spark用户登录,这个节点上,使用Jps会看到哪些线程?
1 | 单独的用户只能看自己的进程 |
9.Spark运行流程
1 | SparkContext向资源管理器注册并申请运行Executor |
10.ReduceByKey和GroupByKey
1 | ReduceByKey |
11.DAG
1 | DAG,有向无环图,指数据转换执行的过程 |
12.OOM问题
1 | Map类型算子内存溢出 |
Flink
1.Flink中TM内存管理
1 | Total Process Memory 总内存(设置多少就是多少) |