一、
大数据的本质:
(1):数据的存储:分布式文件系统(多台机器进行分布式存储)
(2):数据的计算:分布式计算
也指的就是hadoop中的hdfs来解决大数据的存储问题,hdfs的结构是由一个管理员NameNode名称节点和多个DataNode组成的一个hdfs,搭建这个集群最少需要三台机器,我是搭建了3台linux机器
解决的问题:
使用分布式文件系统能够解决的问题,能够可以有数据的冗余,每个数据从客户端到服务器都是
通过数据块进行数据的切割进行传输,hdfs的默认冗余度是3,数据块的效率是通过水平复制的方式进行传输
二、MapReduce
MapReduce起源于谷歌的一篇论文
那么MapReduce是如何解决大数据的计算?
1、搜索排名,通过MapReduce来解决排名的问题
距离:
1 + 2 + 3 + ..... + 10
我们可以通过Map将几个加法放入到Map进行任务的分配
然后Reduce进行这些任务的归总
MR任务:job(主程序) = Map + Reduce
(1):Map的输出是Reduce的输入
(2):MR的输入和输出都是在HDFS
三、BigTable大表 Nosql数据库
一、
1、在学校中学习的数据库课程均是关系型数据库,它是基于关系模型(二维表)提出的一种数据库
2、ER模型,通过增加外键来减少数据的冗余
二、
1、有了Bigtable的思想:Nosql:hbase
2、HBase基于Hadoop的HDFS的
3、Hbase的数据表可以冗余存在列族,rowkey相当于关系型数据库的主键,但是rowkey可以重复,表明的是同一条纪录
四、Spark基础
一、
(1)Spark是什么?
Spark是一个针对大规模数据处理的快速通用引擎
类似MapReduce,进行数据的处理
(2)特点
基于Scala语言,Spark基于内存的计算,速度上大于MapReduce
快:基于内存上的计算
易用:支持Scala,python,java支持不同的语言,支持用不同语言开发不通的Spark任务
通用:Spark Core 、 Spark SQL 、 Sparl Streaming
兼容性:完全兼容Hadoop
(3)Spark的体系结构:主从结构
主节点:Master
从节点:Worker
五、Spark
1、Spark是一个针对大规模数据处理的快速通用引擎,类似MapReduce,进行数据的处理
2、Spark的特点:
(1):基于scala语言、Spark基于内存的计算
(2):快,基于内存
(3):支持Scala、Java、Python
(4):兼容性:完全兼容Hadoop