微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

1000 个问题搞定大数据技术体系长期更新

写在前面

100个问题搞定大数据理论体系
100个问题搞定Java虚拟机

目录结构

HDFS(version:3.2.2)

  1. Hadoop是什么?
  2. 为什么使用Hadoop?
  3. Hadoop3.x有哪些新特性?
  4. HDFS的设计目标是什么?
  5. HDFS的设计需求有哪些?
  6. HDFS是什么?
  7. HDFS和普通的文件系统有什么差异?
  8. HDFS架构是什么?NameNode,SecondaryNameNode,Datanode有什么作用?
  9. HDFS心跳机制是什么?
  10. HDFS上大文件如何切分?
  11. HDFS高可用和联邦指的什么?
  12. HDFS Snapshots 是什么?
  13. HDFS高可用原理是什么?
  14. HDFS容错性设计有哪些?
  15. HDFS的读写流程?
  16. HDFS是如何删除数据的?
  17. HDFS存储大量小文件有什么问题?如何存储大量小文件
  18. SequenceFile是什么?
  19. Block块是不是设置的越大越好?Block块是不是设置的越小越好?
  20. HDFS 序列化是什么?
  21. Hadoop RPC是什么?
  22. block块的存储策略是什么?HDFS副本放置策略是什么?
  23. HDFS副本机制有哪些?
  24. HDFS机架感知是什么?
  25. HDFS的数据负载均衡策略有哪些?
  26. Hadoop有多少protocol?
  27. HDFS是如何管理数据的?HDFS是如何管理元数据的
  28. HDFS启动流程是什么?
  29. HDFS上传文件流程是什么?
  30. HDFS源码里面有哪些设计模式?
  31. HDFS源码中用到了哪些锁?
  32. 你认为HDFS该如何解决三副本带来的存储成本问题?
  33. HDFS支持SSD存储吗?
  34. HDFS集中式缓存管理是什么?
  35. HDFS的可靠性措施?
  36. HDFS权限管理?
  37. HDFS配额管理
  38. HDFS文件归挡
  39. HDFS安全模式是什么?
  40. HDFS如何保障数据安全?
  41. Kerberos认证是什么?
  42. HDFS Shell如何使用?
  43. HDFS api有哪些?
  44. 在两个HDFS集群之间如何传输数据?
  45. HDFS如何调优?
  46. HDFS如何运维?
  47. HDFS常见异常处理?

MapReduce

  1. MapReduce是什么?
  2. MapReduce设计目标
  3. MapReduce特点
  4. MapReduce编程模型
  5. 为什么淘汰MapReduce?
  6. MapReduce工作流程?
  7. MapReduce的Shuffle工作原理?
  8. 如何解决MapReduce数据倾斜的问题?
  9. MapReduce on YARN
  10. MapReduce计数器
  11. 两代MapReduce框架的区别
  12. MapReduce调优

YARN

  1. YARN产生背景
  2. YARN架构
  3. YARN核心组件
  4. YARN应用运行原理
  5. YARN应用提交过程
  6. YARN中有哪些调度器
  7. ResourceManager HA

Zookeeper

  1. Zookeeper是什么?
  2. 为什么要用ZooKeeper?
  3. ZooKeeper有哪些应用场景
  4. ZooKeeper的架构
  5. ZooKeeper集群启动时的leader选举?运行时新leader选举?
  6. 什么是ZooKeeper仲裁quorum? 为什么要仲裁?
  7. ZooKeeper数据模型
  8. ZooKeeper Watcher是什么?为什么要有 Watcher?
  9. ZooKeeper工作原理
  10. ZooKeeper问题应对

Hive

  1. Hive是什么?有什么特点?
  2. 为什么使用Hive
  3. Hive与数据库的区别?
  4. Hive读时模式和写时模式的区别?
  5. Hive有什么优缺点?
  6. Hive架构原理?
  7. Hive的交互方式?
  8. Hive的数据类型?
  9. Hive数据模型
  10. 内部表与外部表的区别?
  11. Hive分区表是什么?
  12. Hive工作原理?
  13. Hive数据如何导入?
  14. Hive数据如何导出?
  15. Hive静态分区和动态分区?
  16. 将数据直接上传到分区目录(hdfs)上,让Hive分区表和数据产生关联有哪些方式?
  17. hive中分区可以提高查询效率,分区是否越多越好,为什么?
  18. hive的分桶表是什么?有什么作用?
  19. Hive桶表是否可以通过直接load将数据导入?
  20. Hive分区和分桶的区别?
  21. order by,sort by,distribute by,cluster by的区别?
  22. 聚合函数是否可以写在order by后面,为什么?
  23. 什么情况下Hive可以避免进行MapReduce?
  24. textFile、sequencefile、orc、parquet对比?
  25. hive的SerDe是什么?
  26. 如何解决多字符分割场景?
  27. Hive的企业级调优?

HBase

  1. HBase是什么?有什么特点?
  2. HBase和RDBMS的对比
  3. hbase整体架构?
  4. hbase表的数据模型?
  5. hbase的数据存储原理?
  6. Hbase内部原理
  7. hbase读写数据流程?
  8. hbase如何处理内存占用过大,大量小文件的情况?
  9. hbase表的预分区是什么?为什么要预分区?如何预分区?
  10. hbase如何处理单个region数据过多/过少的情况?
  11. HBase如何批量导入数据?
  12. 什么是热点?怎样处理热点?
  13. HBase如何进行数据备份?
  14. HBase二级索引?
  15. Hbase集群中每一个⻆色如何实现高可用?
  16. hbase的rowkey设计原则
  17. HBase过滤器?
  18. HBase计数器?
  19. HBase协处理器?
  20. Phoenix是什么?
  21. 常见异常处理?
  22. HBase存储模块总体设计
  23. Hbase应用场景
  24. HBase shell
  25. HBase JavaApi

Flume

  1. Flume是什么?
  2. Flume的架构?
  3. Flume运行机制
  4. Flume如何实现高可用?
  5. Flume的静态拦截器?
  6. Flume自定义拦截器/自定义Source/自定义Sink?
  7. Flume如何实现数据的断点续传?
  8. 如何使用Flume NG构建数据流拓扑
  9. Flume与Kafka的区别
  10. Sqoop与Flume差别
  11. Flume的优势
  12. Flume的架构原则
  13. Flume的可靠性级别
  14. Flume Channel
  15. 适合使用Flume的场景

Sqoop

  1. Sqoop是什么?
  2. 为什么使用 Sqoop
  3. Sqoop的工作机制?
  4. Sqoop基本架构?
  5. Sqoop 1和2区别
  6. Sqoop工作原理
  7. Sqoop基本思想和特点
  8. 如何高效的增量收集数据
  9. Sqoop Connector 有哪些?
  10. 使用 Sqoop 的场景
  11. 为什么需要工作流调度系统?

Azkaban

  1. Azkaban是什么?
  2. Azkaban基本架构?
  3. Azkaban架构的三种运行模式?
  4. 常见的工作流系统对比

Kafka

  1. 消息引擎系统是什么
  2. Kafka 是什么?
  3. Kafka 常用术语
  4. Kafka 的版本号选择
  5. Kafka 的种类选择
  6. Kafka 有什么作用?
  7. Kafka 线上集群部署方案
  8. Kafka 集群参数配置
  9. kafka 副本机制

待补充

Flink

待补充

ELK

待补充

ClickHouse

待补充

Spark Core

  1. Spark是什么?为什么要设计Spark这个框架?
  2. Spark有什么特点?相比于其他分布式计算框架有什么优劣?
  3. Spark为什么这么快?
  4. Spark是如何实现高可用的?
  5. Spark是如何实现高容错的?
  6. spark生态圈
  7. RDD是什么?
  8. RDD是怎么来的?
  9. 你认为Spark为什么要设计出RDD这个抽象模型?
  10. RDD的弹性体现在哪些方面?
  11. RDD的容错性体现在哪些方面?
  12. RDD的五大特性是什么?为什么有这五大特性?
  13. RDD里面的Partition到底代表什么?/ RDD的存储原理是什么?
  14. RDD的窄依赖和宽依赖有什么区别?
  15. checkpoint主要适用于以下哪些场景?
  16. RDD的操作可以分为哪些类型?
  17. 创建RDD的方式
  18. RDD算子
  19. RDD,DataFrame,DataSet有什么区别?
  20. RDD compute/ iterator 实现逻辑
  21. 广播变量和累加器是什么?为什么要设计这两个低级API?它们两者是如何实现的?
  22. SparkContext是什么?有什么作用?
  23. Driver和SparkContext有什么关系?
  24. SparkContext工作原理是什么?/ SparkContext整体运行流程是什么?
  25. DAGScheduler是什么?有什么作用?
  26. DAGScheduler是如何划分Stage的?
  27. DAG的生成机制
  28. DAGScheduler是如何提交Job的?
  29. DAGSCheduler的调度流程?
  30. TaskScheduler是什么?有什么作用?
  31. TaskScheduler的工作原理是什么?
  32. TaskScheduler实例化
  33. TaskSchedulerImpl的初始化流程?
  34. TaskSchedulerImpl的启动流程?
  35. Taskschedulerlmpl是如何提交Task的?
  36. TaskSchedulerImpl是如何分配资源的
  37. Spark为什么要设计出DAGScheduler和TaskScheduler的双层调度体系?
  38. SparkEnv是什么?有什么作用?
  39. SparkConf
  40. 创建spark环境
  41. SparkUI的实现
  42. SparkContext初始化
  43. SparkContext的伴生对象
  44. 安全管理器SecurityManager
  45. Shuffle是什么?
  46. Spark的Shuffle相比于MapReduce有什么改进的地方?
  47. Spark中的Shuffle分为哪些类型?彼此之间有什么区别?
  48. Spark的Shuffle发展历程?
  49. Shuffle框架内核
  50. ShuffleManager是什么?有什么作用?
  51. Shuffle的注册流程是什么?
  52. Shuffle读写的流程是什么?
  53. Shuffle的发生时机?
  54. Shuffle抓过来的数据到底放到了哪里?
  55. Sorted-Based shuffle 流程?
  56. MapOutputTracker 是什么?有什么作用?
  57. Tungsten是什么?
  58. 为什么需要Tungsten?
  59. Tungsten是如何优化内存管理的?
  60. 内存管理模型?
  61. Master启动原理?
  62. Master的部署
  63. Worker启动原理?
  64. Executor启动原理?
  65. Executor创建
  66. Executor资源分配
  67. Executor启动
  68. Executor异常处理
  69. Master如何实现 HA?
  70. Master领导选举的流程?
  71. Master如何实现资源调度?
  72. Master,Worker,Driver,Executor分别是什么?彼此之间有什么联系?
  73. Worker的部署
  74. 注册worker的完整流程?
  75. Master是如何进行Worker超时检测的?
  76. Spark本地模式整体运行流程是什么?
  77. 本地部署模式有哪些?
  78. 以Client的部署模式提交应用程序
  79. 以Cluster的部暑模式提交应用程序
  80. local-cluster部署模式整体运行流程是什么?
  81. Spark的Standalone模式整体运行流程是什么?
  82. standalone部署模式的容错机制?
  83. Spark在YARN集群上面的整体运行流程是什么?
  84. Spark on YARN提交过程?
  85. HeartbeatReceiver的工作原理?
  86. PersistenceEngine是什么?
  87. StandalonescheduleBackend是如何实现的?
  88. DriverEndpoint是如何实现的?
  89. CoarseGrainedExecutorBackend是什么?
  90. spark运行模式有哪些?
  91. ExecutorAllocationManager
  92. ContextCleaner的创建与启动
  93. SparkListener
  94. Spark存储模块有哪些关键组件?
  95. BlockManager是什么?有什么作用?
  96. 初始化块管理器BlockManager
  97. BlockStore
  98. Block锁是什么?
  99. Partition和Block有什么区别?
  100. 不同Storage Level对比
  101. Block是如何传输的?
  102. Block 的下载流程?
  103. Block的上传流程?
  104. Spark读写数据的流程?
  105. Spark中序列化和压缩有什么作用?
  106. cache是如何实现的?
  107. 缓存的适用场景
  108. 缓存工作机制解析
  109. checkpoint是如何实现的?
  110. 检查点 (checkpoint) 的适用场景和工作机制
  111. Spark是如何管理内存的?
  112. Executor内存模型
  113. AppendOnlyMap和PartitionedPairBuffer是如何实现的?
  114. MemoryManager是如何申请,释放内存的?
  115. HeapMemoryAllocator的工作原理?
  116. Spark存储模块之间是如何通信的?
  117. Spark启动时消息通信流程是什么?
  118. Spark运行时消息通信流程是什么?
  119. Spark RPC和Akka之间有什么关系?
  120. Spark RPC请求响应全流程是什么?
  121. ListenerBus是什么?有什么作用?
  122. StandaloneschedulerBackend是什么?有什么作用?
  123. 执行器的通信接口( Executorbackend)
  124. CoarseGrainedExecutorBackend是什么?和Executor有什么关系?
  125. Driver和Master如何通信?
  126. Application如何注册?spark程序的注册机制
  127. LauncherBackend是什么?
  128. 内部交互的消息机制
  129. Storage模块通信层
  130. Rpc框架的基本架构
  131. RPC核心组件
  132. 事件总线
  133. 度量系统
  134. 创建心跳接收器
  135. Rpc环境
  136. Spark的作业调度全流程是什么?
  137. Spark是如何执行任务的?
  138. Spark 是如何获取执行结果的?
  139. TaskSetManager是什么?有什么作用?
  140. Task是什么?
  141. Task工作流程?
  142. Task获取最佳位置
  143. Executor中任务是如何执行的?
  144. Job运行流程?
  145. Job触发流程?
  146. Spark 提供了哪些监控手段?
  147. Spark UI怎么用?
  148. Spark Metrics是什么?
  149. Spark REST API 如何使用?
  150. Spark Shell如何使用?
  151. Spark有哪些运维脚本?

Spark sql

  1. Spark sql是怎么发展起来的?
  2. Spark sql是什么?
  3. Spark sql是如何实现的?
  4. Spark sql特点
  5. DataFrame 编程模型
  6. 通过 RDD 如何构建 DataFrame
  7. RDD 和 DataFrame 的区别
  8. SparkSession
  9. DataFrame API
  10. DataFrame 的常用操作
  11. Spark sql 操作 MongoDB
  12. Spark sql 中 Parquet 进行数据分片是如何实现的
  13. Spark sql内置函数
  14. Spark sql窗口函数
  15. Spark sql UDF
  16. Spark sql UDAF
  17. Spark sql 解析引擎 Catalyst
  18. InternalRow 体系
  19. TreeNode 体系
  20. Expression 体系
  21. ANTLR
  22. 访问者模式
  23. AstBuilder
  24. Spark sql逻辑计划
  25. LogicPlan 基本操作与分类
  26. QueryPlan
  27. UnResolvedLogicPlan 生成
  28. Catalog 体系
  29. Rule 体系
  30. AnalyzedLogicalPlan 生成过程
  31. Spark sql优化器 optimizer
  32. optimizer 规则体系
  33. OptimizedLogicalPlan 的生成过程
  34. Spark sql物理计划
  35. SparkPlan
  36. Spark sql的执行原理

Spark Streaming

  1. Spark Streaming 是如何发展起来的?
  2. Spark Streaming 设计思想
  3. Spark Streaming 是什么?
  4. Spark Streaming 的特点
  5. Spark Streaming,Spark Structured Streaming,Storm,Flink 的对比
  6. Spark Streaming 工作原理
  7. Spark Streaming 整体架构
  8. DStream
  9. StreamingContext
  10. Spark Streaming 数据源
  11. Spark Streaming 转换输出操作
  12. 流数据上使用 DataFrame 和 sql 进行操作
  13. Spark Streaming 持久化
  14. Spark Streaming checkpoint
  15. Spark Streaming 共享变量
  16. 使用 foreachRDD 设计模式
  17. 将 DStream 输出文件
  18. 将 DStream 输出MysqL
  19. 将 DStream 输出到 HBase 中
  20. 将 DStream 数据输出到 Redis

Spark Structured Streaming

待补充

文献引用

  1. Hadoop 3.2.2 官方文档
  2. 《Hadoop大数据挖掘从入门到进阶实战:视频教学版》邓杰编著
  3. 《云时代的大数据技术与应用实践》朱利华著

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐