问题导读:
1、MapReduce的Shuffle过程是怎样的?
2、Zookeeper中维护Kafka时的存储结构是怎样的?
3、FlumeAgent内部原理是怎样的?
4、Kafka高阶消费者和低阶消费者有什么区别?
5、HBase写数据和读数据流程是怎样的?
一 大数据的框架回顾
Hadoop
job 提交简图 或 YARN 架构 或 YARN 工作机制 或 job 提交流程
0、job 提交简图
1、YARN 架构
2、YARN 工作机制
3、job 提交流程源码解析图解
MapReduce 的 Shuffle 过程介绍
Shuffle 的本义是洗牌、混洗,把一组有一定规则的数据尽量转换成一组无规则的数据,越随机越好。MapReduce 中的 Shuffle 更像是洗牌的逆过程,把一组无规则的数据尽量转换成一组具有一定规则的数据。
为什么 MapReduce 计算模型需要 Shuffle 过程?我们都知道 MapReduce 计算模型一般包括两个重要的阶段:Map 是映射,负责数据的过滤分发;Reduce 是规约,负责数据的计算归并。Reduce 的数据来源于 Map,Map 的输出即是 Reduce 的输入,Reduce 需要通过 Shuffle来 获取数据。
从 Map 输出到 Reduce 输入的整个过程可以广义地称为 Shuffle。Shuffle 横跨 Map 端和 Reduce 端,在 Map 端包括 Spill 过程,在 Reduce 端包括 copy 和 sort 过程,如图所示:
环形缓冲区简图
Zookeeper
使用 zookeeper 监听服务器节点动态上下线案例
Zookeeper 中维护 Kafka 时的存储结构如下:
Flume
Flume Agent 内部原理
Flume Agent 的聚合
Flume 的负载均衡
Kafka
Kafka 工作流程1
Kafka 工作流程2
Kafka 高阶消费者 和 低阶消费者
HBase
HBase 架构图
HBase 读数据流程
HBase 写数据流程
Hive
1、HQL 的编写、练习(一定要好好写!!!每天写一条!!!超级重要!!!想进大厂的必备!!!牛客网HQL题库:https://www.nowcoder.com/ta/sql)
2、Hive 的调优:https://www.cnblogs.com/chenmingjun/p/10452686.html
3、数据仓库的理论 + 简单的数仓库搭建
Sqoop
Sqoop 是一款开源的工具,主要用于在 Hadoop(Hive) 与传统的数据库 (mysql,postgresql,…) 间进行数据的高校传递,可以将一个关系型数据库(例如:MySQL,Oracle,Postgres等)中的数据导入到 Hadoop 的 HDFS 中,也可以将 HDFS 的数据导进到关系型数据库中。
Sqoop 的批量导入必须要会,面试经常要问。
DataX
是阿里开源的框架,支持很多数据源之间的转化。但是只开源了单节点的源代码,分布式的代码没有开源。
支持数据库如下:
Spark
二 大数据的企业应用
应用一:数据仓库的搭建
数据仓库各层图解
数据仓库涉及到的知识点
应用二:产品信息分析
应用三:用于行为分析
最新经典文章,欢迎关注公众号
来源:CSDN 作者:Lan&Jun 原文:《大数据技术之_27_电商平台数据分析项目_01_大数据的框架回顾 + 大数据的企业应用》 https://blog.csdn.net/u012990179/article/details/90690326
|