1大数据:指无法在一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合。
2大数据主要解决,海量数据的存储和海量数据的分析计算问题。
3数据存储单位:bit,Byte,KB,MB,GB,TB,PB,EB,ZB,YB
4大数据的特点:1大量2高速(数据增长速度非常快)3多样化(数据结构的多样化)4低价值密度(数据量越多价值密度越低)
5工作中大数据部门组织架构(数据挖掘其实就是算法工程师):
6Apache是Hadoop的一个版本
7Hadoop的优势:
a高可靠性:Hadoop对每个节点(集群中的一台机器)至少存3个副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失
b高扩张性,在集群间分配任务数据,可方便的扩展以千计算的节点。
c高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
d高容错性,能够自动将失败的任务重新分配
8Hadoop组成
hadoop=hdfs+mapreduce+yarn
a HDFS=hadoop distributed file System:Hadoop分布式文件系统 作用:存储文件
b MapReduce 作用:计算
c YARN 作用:资源调度(分配集群的CPU,集群的硬盘等资源)
9HDFS概概述:
hdfs=nameNode+DateNode+Secondary NameNode
a NameNode 作用:存储文件的元数据(元数据:描述数据的数据)
bDateNode 作用:存储真实的数据,校验和
cSecondary NameNode 作用:给NameNode干活的
10YARN概述:
yarn=resourceManager+nodeManager+applicationMaster+Container
a ResourceManager 作用:整集群资源的调度
b NodeManager 作用:每个结点的资源调度
c ApplicationMaster 作用:每个任务要用到的资源的调度
d Container 作用:相当于把整个集群的资源分成一个个Container,每个任务都跑在一个Container上
10MapReduce概述:
MapReduce=map+reduce
a Map 作用:把数据切分并行处理
b Reduce 作用:把Map处理的结果进行汇总
11大数据技术生态体系:
[1]大数据处理的数据分为三种:
a结构化数据(例如数据库中存的数据)
b半结构化数据(例如文件日志),半结构化数据是可以通过一定的手段转化成结构化数据的数据
c非结构化数据 (视频,ppt等没有规律的数据)
[2]数据传输层,分为三个框架
a Sqoop 这个词的来源:my[sq]l+had[oop]相当于将关系型数据库的数据导到HDFS上
b Flume :日志采集的框架。主要作用:日志会写在服务器的.log文件中,每次生成的日志在这个文件中不停的追加,
Flume的主要作用是对这个日志文件进行监控,监控他追加的情况,并把这个日志里面的内容通过Flume
这个框架再换到别的框架,例如:HDFS,Kafka,Flume和Kafka可以实现无缝的对接
c Kafka:处理流式数据(数据源不断变化的数据),Kafka也叫数据总线
数据总线:将流到它里面的数据进行一个分发
[3]数据存储层:
a HDFS
b Hbase:非关系型数据库(可以存储关系型数据和非关系型数据)
[4]资源管理层:YARN
[5]数据计算层
a MapReduce---框架:
[a]HIVE:将sql语句自动转化成MapReduce程序进行运行
b Spark Core(Spark中的一个组件)---框架:
[a]Spark Mlib:封装了很多算法
[b]Spark R:用于数据分析
[c]Spark Sql:数据查询
[d]Spark Streaming:实时计算(伪实时,可能是隔5s处理一次,有一个延时),用来处理Kafka传来的数据
[e]Strom:真正的实时计算
a,b的主要区别:MapReduce在处理数据的时候是基于硬盘的(缺点速度慢)
Spark Core(缺点断电丢数据)在处理数据的时候是基于内存的。
[6]任务调度层,框架:Oozie
任务调度:第二个计算依赖于第一个计算的结果,任务调度用于控制任务的执行先后
[7]大数据生态系统的润滑剂:zookeeper