序言

2018~2021 年期间,笔者阅读了200+大数据相关的书籍和专栏。

本专栏为笔者,在多年读书笔记的基础上,结合自身的大数据开发心得体会,呕心沥血之作。

同时笔者也根据个人推荐度对引用的文献进行了排行,详情请见参考文献。

来点关注吧,万分感谢!

在这里插入图片描述

本专栏姊妹篇

在这里插入图片描述

100个问题搞定大数据理论体系

100个问题搞定Java虚拟机

目录结构

在这里插入图片描述

HDFS(3.2.2)

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

MapReduce(3.2.2)

  1. MapReduce是什么?有什么特点?
  2. MapReduce编程模型是怎样的?
  3. 为什么要淘汰MapReduce?
  4. MapReduce工作流程?
  5. 图文详解 MapReduce on YARN
  6. 如何解决MapReduce数据倾斜的问题?
  7. MapReduce 代码怎么写?
  8. MapReduce 的计数器(Counter)是什么?
  9. MapReduce如何调优?

YARN(3.2.2)

  1. YARN 的架构是怎样的?YARN 的核心组件有哪些?
  2. YARN应用运行原理是什么?
  3. 谈谈你对 YARN 这个框架的理解?
  4. YARN应用提交过程是怎样的?
  5. YARN中有哪些调度器?
  6. ResourceManager怎样实现高可用?
  7. YARN 如何调优?

在这里插入图片描述

Zookeeper(3.7.0)

  1. Zookeeper是什么?
  2. ZooKeeper 有什么特性?
  3. ZooKeeper有哪些应用场景?
  4. 如何用 ZooKeeper 实现分布式锁?
  5. ZooKeeper的架构是怎样的?
  6. ZooKeeper的选举机制是怎样的?
  7. 什么是ZooKeeper仲裁quorum? 为什么要仲裁?
  8. ZooKeeper数据模型是怎样的?
  9. ZooKeeper 的 Watch 机制是什么?
  10. ZooKeeper工作原理是什么?
  11. ZooKeeper问题如何应对?
  12. ZooKeeper 编程怎么写?

在这里插入图片描述

Hive(3.1.2)

  1. Hive 如何安装部署?
  2. Hive是什么?有什么特点?
  3. Hive与数据库的区别?
  4. Hive读时模式和写时模式的区别?
  5. Hive系统架构是怎样的?
  6. Hive的交互方式有哪些?
  7. Hive的数据类型有哪些?
  8. Hive数据模型是什么?
  9. Hive 的内部表与外部表有什么区别?
  10. Hive 的分区表是什么?
  11. Hive 的工作原理是什么?
  12. Hive 的数据怎么导入导出?
  13. Hive 的静态分区和动态分区是怎么回事?
  14. 将数据直接上传到分区目录(hdfs)上,让Hive分区表和数据产生关联有哪些方式?
  15. Hive 中分区是否越多越好?
  16. Hive 的分桶表是什么?有什么作用?
  17. Hive 桶表是否可以通过直接 load 将数据导入?
  18. Hive 分区和分桶的区别?
  19. order by,sort by,distribute by,cluster by的区别是什么?
  20. 聚合函数是否可以写在 order by 后面,为什么?
  21. 什么情况下 Hive 可以避免进行 MapReduce?
  22. Hive 的数据压缩格式怎么选择?
  23. Hive 的文件存储格式怎么选择?
  24. Hive 的 SerDe 是什么?
  25. Hive 中如何解决多字符分割场景?
  26. Hive 如何调优?

在这里插入图片描述

HBase(2.4.4)

  1. HBase 怎么安装部署?
  2. HBase是什么?有什么特点?
  3. HBase 和 RDBMS 相比有什么区别?
  4. HBase 整体架构是什么?
  5. HBase 表的数据模型是什么?
  6. HBase 的数据存储原理是什么?
  7. HBase 的 flush 机制和 compact 机制是什么?
  8. HBase 的 region 拆分机制是什么?
  9. HBase 表的预分区是什么?为什么要预分区?如何预分区?
  10. HBase 热点是什么?怎么解决 HBase 热点?
  11. 如何搞懂 HBase 的内部原理?
  12. HBase 读写数据流程是咋样的?
  13. HBase 的 bulkload 是什么?
  14. HBase如何进行数据备份?
  15. HBase二级索引?
  16. Hbase集群中每一个⻆色如何实现高可用?
  17. hbase的rowkey设计原则
  18. HBase过滤器?
  19. HBase计数器?
  20. HBase协处理器?
  21. Phoenix是什么?
  22. 常见异常处理?
  23. HBase存储模块总体设计
  24. Hbase应用场景
  25. HBase shell
  26. HBase JavaApi

在这里插入图片描述

Flume(1.9.0)

  1. Flume 是什么?Flume 有什么特点?
  2. Flume的架构是怎样的?
  3. Flume 是怎么保障可靠性的?
  4. Flume 的可靠性级别有哪些?
  5. Flume 如何自定义 Mysql Source?
  6. Flume 如何自定义 Mysql Sink?
  7. Flume 怎样实现数据的断点续传?
  8. Flume的静态拦截器?
  9. Flume自定义拦截器
  10. Flume 的使用场景是什么?
    在这里插入图片描述

Sqoop(已经停止维护)

  1. Sqoop 是什么?
  2. Sqoop 的使用场景是什么?
  3. Sqoop 基本架构是什么?
  4. Sqoop 1 和 2 区别
  5. Sqoop 工作原理是什么?
  6. 如何高效的增量收集数据?
  7. Sqoop Connector 有哪些?

Azkaban(3.30.1)

  1. 为什么需要工作流调度系统?
  2. Azkaban 是什么?有什么特点?
  3. Azkaban 基本架构是什么?
  4. Azkaban 的三种部署模式是什么?
  5. 常见的工作流系统对比

在这里插入图片描述

Kafka(2.8)

  1. 为什么要有消息队列/消息引擎系统?
  2. Kafka 是什么?
  3. 为什么使用 Kafka?
  4. Kafka 核心概念有哪些?
  5. Kafka 的架构是怎样的?
  6. Zookeeper对于Kafka的作用是什么?
  7. Kafka 的线上集群部署方案是怎样的?
  8. Kafka 集群常用命令有哪些?
  9. Kafka的 ack 的三种机制是什么?
  10. Kafka 生产者消息分区机制?
  11. Kafka 生产者压缩算法有哪些?
  12. 如何提升 Kafka 生产者的吞吐量?
  13. 如何保证 Kafka 消息不丢失?
  14. Kafka 如何不重复消费数据?
  15. Kafka 如何保证消息的有序性?
  16. Kafka 积压了百万消息如何处理?
  17. Kafka 生产者遇到了异常如何处理?
  18. Kafka 客户端拦截器
  19. Kafka 如何自定义分区?
  20. Kafka 的 Java 生产者如何管理 TCP 连接?
  21. Kafka 的 Java 消费者如何管理 TCP 连接?
  22. 幂等生产者是什么?
  23. 事务生产者是什么?
  24. 消费者组是什么?
  25. Kafka 的 Coordinator 是什么?
  26. 消费者组重平衡是什么?
  27. 消费者组消费进度监控都怎么实现?
  28. Kafka副本机制是什么?Kafka 的 ISR 是什么?
  29. Kafka 的 Producer 消息发送原理是什么?
  30. Kafka 请求处理全流程
  31. Kafka 消费者组重平衡全流程
  32. Kafka 的Controller
  33. Kafka 的高水位(HW)是什么?
  34. Kafka 的 LEO 是什么?
  35. Kafka 的 Leader Epoch 是什么?
  36. Kafka 如何管理主题?
  37. Kafka 的动态配置是什么?
  38. 怎么重设消费者组位移?
  39. Kafka 常见工具脚本?
  40. Kafka 怎么调优?

在这里插入图片描述

Flink(1.13.2)

  1. 流计算框架对比?
  2. Flink 怎么部署安装?
  3. Flink 是什么?有什么特点?
  4. Flink 的编程模型是什么?
  5. Flink 功能模块是怎样的?
  6. Flink 的系统架构是怎样的?
  7. Flink 的集群部署模式有哪些?
  8. 一篇文章搞懂 Flink 的 Window
  9. Flink 的 Time 三兄弟
  10. 一篇文章搞懂 Flink 的 watermark 机制
  11. Flink 的状态保存和恢复
    在这里插入图片描述

ELK(6.7.0)

  1. Elasticsearch 怎么安装部署?
  2. ELK 是什么?
  3. 如何安装 elasticsearch-head 插件?
  4. Elasticsearch 的核心概念有哪些?
  5. Elasticsearch 怎么管理索引?
  6. 一篇文章入门 Elasticsearch 查询
  7. Elasticsearch 如何定义字段类型mappings ?
  8. Elasticsearch 的分页解决方案
  9. Elasticsearch 中文分词器 IK 的安装与使用

在这里插入图片描述

ClickHouse

ClickHouse 是什么?ClickHouse 有哪些特性?

在这里插入图片描述

Kylin

  1. Apache Kylin 是什么?
  2. Apache Kylin 有哪些特性?
  3. Apache Kylin 的预计算是怎么回事?
  4. Apache Kylin 的工作流程是什么?
  5. 一篇文章搞懂 Apache Kylin 4.x 的技术架构

在这里插入图片描述

Kubernetes

  1. Kubernetes 是什么?
  2. Kubernetes 有哪些特性?
  3. Kubernetes 的核心概念一网打尽
  4. Kubernetes 中的 Pod 是什么?
  5. Kubernetes 的系统架构是怎样的?

在这里插入图片描述

Spark Core(3.3.0-SNAPSHOT)

因为笔者一直在研究 Apache Spark 的源码,故专栏中涉及 Spark 的源码版本都是基于 github 的 master 分支,当前版本号为:3.3.0-SNAPSHOT

Spark RDD 论文详解

Spark RDD 论文详解(一)摘要和介绍

Spark RDD 论文详解(二)RDDs

Spark RDD 论文详解(三)Spark 编程接口

Spark RDD 论文详解(四)表达 RDDs

Spark RDD 论文详解(五)实现

Spark RDD 论文详解(六)评估

Spark RDD 论文详解(七)讨论

Spark RDD 论文详解(八)相关工作和结尾

随笔

  1. 如何成为 Apache Spark 的 Contributor?
  2. Spark 2.3 安装部署
  3. 为什么Spark这么牛逼?
  4. Spark Core核心概念一网打尽
  5. RDD是什么?
  6. SparkContext是什么?有什么作用?
  7. DAGScheduler 是什么?有什么作用?
  8. DAGScheduler 是如何划分 Stage 的?
  9. DAGScheduler的调度流程是什么?
  10. TaskScheduler 是什么?有什么作用?
  11. 参考 Apache Spark 实现 Java 和 Scala 的 maven 混合编译
  12. Scala 的代码风格怎么统一?这份 scalastyle 配置你可以无脑复制
  13. 参考 Apache Spark 的源码自定义实现 Logging 日志打印工具
  14. 编译 Apache Spark 源码报错?那是因为你漏掉了关键操作
  15. 使用 Spark MLlib 实现线性回归
  16. 使用 Spark GraphX 实现 PageRank 算法
  17. Spark 异常问题汇总

Spark SQL(3.3.0-SNAPSHOT)

Spark SQL 内置函数

Spark SQL 内置函数(一)Array Functions(基于 Spark 3.2.0)

Spark SQL 内置函数(二)Map Functions(基于 Spark 3.2.0)

Spark SQL 内置函数(三)Date and Timestamp Functions(基于 Spark 3.2.0)

Spark SQL 内置函数(四)JSON Functions(基于 Spark 3.2.0)

Spark SQL 内置函数(五)Aggregate Functions(基于 Spark 3.2.0)

Spark SQL 内置函数(六)Window Functions(基于 Spark 3.2.0)

Spark SQL functions.scala 源码解析

Spark SQL functions.scala 源码解析(一)Sort functions (基于 Spark 3.3.0)

Spark SQL functions.scala 源码解析(二)Aggregate functions(基于 Spark 3.3.0)

Spark SQL functions.scala 源码解析(三)Window functions (基于 Spark 3.3.0)

Spark SQL functions.scala 源码解析(四)Non-aggregate functions (基于 Spark 3.3.0)

Spark SQL functions.scala 源码解析(五)Math Functions (基于 Spark 3.3.0)

Spark SQL functions.scala 源码解析(六)Misc functions (基于 Spark 3.3.0)

Spark SQL functions.scala 源码解析(七)String functions (基于 Spark 3.3.0)

Spark SQL functions.scala 源码解析(八)DateTime functions (基于 Spark 3.3.0)

Spark SQL functions.scala 源码解析(九)Collection functions (基于 Spark 3.3.0)

Spark SQL functions.scala 源码解析(十)Partition transform functions(基于 Spark 3.3.0)

Spark SQL functions.scala 源码解析(十一)Scala UDF functions(基于 Spark 3.3.0)

Spark SQL functions.scala 源码解析(十二)Java UDF functions(基于 Spark 3.3.0)

Spark SQL 工作流程源码解析

Spark SQL 工作流程源码解析(一)总览(基于 Spark 3.3.0)

Spark SQL 工作流程源码解析(二)parsing 阶段(基于 Spark 3.3.0)

Spark SQL 工作流程源码解析(三)analysis 阶段(基于 Spark 3.3.0)

Spark SQL 工作流程源码解析(四)optimization 阶段(基于 Spark 3.3.0)

Spark SQL 工作流程源码解析(五)planning 阶段(基于 Spark 3.3.0)

随笔

  1. Spark SQL是怎么发展起来的?
  2. Spark SQL是什么?
  3. Spark SQL 通过什么来实现?
  4. DataFrame 编程模型是什么?
  5. RDD 和 DataFrame 的区别是什么?
  6. 从 Spark 源码角度解读 Dataset
  7. 浅谈 Spark SQL 实现任务质量治理的思路

参考文献(按推荐度排序)

在这里插入图片描述

官方文档都是要先阅读的,极客时间几个专栏都还不错,书籍推荐榜前几名强烈推荐!
后几名没什么必要去看,我都是引用了几句话所以加了进来。
博客引用不在推荐榜单排名内
随着专栏更新会不断更新~

  1. Hadoop 3.2.2 官方文档
  2. Spark 3.1.2 官方文档
  3. Kafka 2.8 官方文档
  4. HBase 2.4.4 官方文档
  5. Hive 3.1.2 官方文档
  6. 极客时间专栏《Kafka核心技术与实战》胡夕
  7. 极客时间专栏《从0开始学大数据》李智慧
  8. 极客时间专栏《大规模数据处理实战》蔡元楠
  9. 极客时间专栏《Spark核心原理与实战》王磊
  10. 《大数据架构详解:从数据获取到深度学习》朱洁,罗华霖编著
  11. 《图解 Spark:核心技术与案例实战》郭景瞻编著
  12. 《Spark SQL 内核剖析》朱锋、张韶全、黄明著
  13. 《Spark大数据商业实战三部曲:内核解密商业案例性能调优 第 2 版》王家林,段智华,夏阳编著
  14. 《Spark内核设计的艺术:架构设计与实现》耿嘉安著
  15. 《Hadoop专家:管理、调优与 Spark YARN HDFS安全》(美)山姆·阿拉帕蒂(SamR. Alapati)著; 赵国贤等译
  16. 《Hadoop权威指南(第3版)》(美)怀特(White,T.)著;华东师范大学数据科学与工程学院译
  17. 《企业数据湖》(印)汤姆斯・约翰(Tomcy John),(印)潘卡・米斯拉(Pankaj Misra)著;张世武,李想,张浩林译
  18. 《Spark内核机制解析及性能调优》王家林等编著
  19. 《Hadoop海量数据处理-技术详解与项目实战第2版》范东来著
  20. 《大数据技术体系详解:原理、架构与实战》董西成著
  21. 《Hadoop大数据技术原理与应用》 黑马程序员编著
  22. 《Hadoop大数据挖掘从入门到进阶实战:视频教学版》邓杰编著
  23. 《Hadoop & Spark大数据开发实战》肖睿、雷刚跃主编
  24. 《大数据开发与应用》青岛英谷教育科技股份有限公司,山东工商学院编著
  25. 《大数据时代 hadoop 技术及应用分析》韦鹏程,施成湘,蔡银英著
  26. 《从 Paxos到 Zookeeper:分布式一致性原理与实践》倪超著
  27. 《大数据技术及应用探究》胡沛,韩璞著
  28. 《云时代的大数据技术与应用实践》朱利华著
  29. 《云计算中的大数据技术与应用》梁凡著
  30. 《大数据技术概论》陈明编著
  31. 《大数据应用基础》娄岩主编
  32. 《Hadoop大数据分析》高水彬,钱亮宏,方志军编著
  33. 《大数据资源》朱扬勇主编
  34. 《大数据高可用环境搭建与运维》天津滨海迅腾科技集团有限公司编著
  35. MapReduce-Counter使用-快速实现大文件行数的统计
上一篇 下一篇