课程安排
-
大数据之Hadoop
面试可以说一说 真正的数据分析过程中可能接触的不多 但是数据分析岗位与大数据岗位很相似 所以最好先掌握个大概 ps:其实也就是一款数据库软件而已
-
机器学习算法模型
主要是为了了解每个算法的内部本质 工作中有现成的软件和代码能够直接实现算法 不需要你自己再写公式
-
面试指导
如何攥写个人简历 如何与HR沟通交流
Hadoop理论
大数据的四大特征
1.数据量一定要大
容量
eg:1PB 1EB
2.短时间内数据的增长速度特别快
eg:双十一 一秒钟成交单数
3.多样性
数据的样式特别的多
eg:用户数据 订单数据 公司数据 商品数据
常规的数据库软件根本无法操作大数据
'''研究大数据主要就是解决两大问题
1.海量数据的存储问题
2.海量数据的分析计算
'''
4.Value(低价值密度)
价值密度的⾼低与数据总量的⼤⼩成反⽐。⽐
如,在⼀天⼈⼝登记中,我们只关⼼出现在公安系统
被通缉的那⼀部分⼈,如何快速对有价值数据“提
纯”成为⽬前⼤数据背景下待解决的难题。
关系型数据库 MySQL
主要存储结构化数据
非关系型数据库 MongoDB
主要存储非结构化数据
大数据的用途
目前大数据应用在各行各业
物流仓储
零售
旅游
商品⼴告推荐
保险
⾦融
房产
⼈⼯智能
Hadoop
# 只要涉及到大数据 肯定会接触到Hadoop
主要解决海量数据的存储和海量数据的分析计算
Hadoop从狭义上你可以直接理解为是一款数据库软件
Hadoop从广义上你可以看成是一个"生态圈"
内部包含了很多很多的技术
可以说Google是Hadoop的思想之源(Google在⼤数据⽅⾯的三篇论⽂)
GFS --->HDFS
Map-Reduce --->MR
BigTable --->HBase
2006 年 3 ⽉份Hadoop就此正式诞⽣,标志着⼤数据时代来临
Hadoop发行版本
Apache版本
最原始(最基础)的版本,对于⼊⻔学习最好。2006
Cloudera
内部集成很多⼤数据框架,对应产品CDH。 2008
Hortonworks
⽂档较好,对应产品HDP。 2011
ps:Hortonworks已经被Cloudera公司收购推出新品牌CDP
# 节点
一台台服务器(计算机)
Hadoop优势
"""
并发与并行
并发:看上去像同时在运行就可以
并行:真正意义上的同时执行
"""
1)⾼可靠性:Hadoop底层维护多个数据副本(默认是3个),所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
2)⾼扩展性:在集群间分配任务数据,可⽅便的扩展数以千计的节点。
3)⾼效性:在MapReduce的思想下,Hadoop是并⾏⼯作的,以加快任务处理
4)⾼容错性:能够⾃动将失败的任务重新分配。
Hadoop组成(记忆)
Hadoop1.X(只有三个部分)
MapReduce # 计算+资源调度
HDFS # 数据存储
Common # 辅助工具
Hadoop2.X与Hadoop3.X(有四个部分)
MapReduce # 计算
Yarn # 资源调度
HDFS # 数据存储
Common # 辅助工具
"""
耦合:用来描述不同事物之间的关系紧密度
强耦合:事物之间关系很紧密 一荣俱荣一损俱损
解耦合:尽量降低事物之间的关系紧密度 彼此之间相互不干扰
"""
HDFS架构概述(记忆)
"""存储数据"""
1.NameNode(nn)
不存储真实数据
只存相关数据如⽂件名,⽂件⽬录结构,⽂件属性(⽣成时间、副本数、⽂件权限),以及每个⽂件的块列表和块所在的DataNode等
2.DataNode(dn)
存储真实的数据
在本地⽂件系统存储⽂件块数据,以及块数据的校验和
3.Secondary NameNode(2nn)
协助NameNode工作并备份数据
⽤来监控HDFS状态的辅助后台程序,每隔⼀段时间获取HDFS元数据的快照
Yarn架构概述(记忆)
"""资源调度"""
1.ResourceManager # 大老板(只有一个)
2.NodeManager # 小老板(可以有多个)
3.Application Master # 员工(可以有多个)
4.Container # 办公所需的一切资源
"""
RM可以管理多个节点
每个节点上面都包含NM AM CR
"""
MapReduce架构概述(记忆)
"""计算处理"""
1.Map
将复杂的任务拆分成多份
2.Reduce
将多个任务结果汇总一份
大数据技术生态
线上数据库不能直接用于数据分析 需要先做备份/导出
针对不同的数据类型导出的方式也各不相同
1.针对结构化数据导入到HDFS一般使用
Sqoop
传统数据库数据与大数据库数据彼此交互(导入导出)
2.针对非结构化的文本数据
Flume
3.针对视频、音频数据
消息队列(Kafka RabbitMQ...)
# 什么是消息队列?
临时保存数据等待别人来获取
从而解决数据的产生者与数据的消费者之间耦合度
针对数据计算操作可以使用本身自带的MapReduce但是更多时候会使用功能更加强大的Spark软件(使用该工具需要前期做很多繁杂的配置)
作业
1.本周开始就需要你们课下自我复习准备面试
2.将今日笔记自己抄写一遍(尽量记忆)
用自己的话术总结归纳更好
3.准备好一台可以正常启动的虚拟机环境