大数据计算框架
大数据四个特征:数据量大volume,价值密度低value,数据类型多样variety,处理速度快velocity
大数据的构成: 结构化数据,半结构化数据,非结构化数据
Hadoop特性:
高可靠性、高效性、高扩展性、成本低,成熟的生态圈、高容错性
Hadoop核心组件:
-
HDFS:分布式文件系统
-
MapReduce:分布式计算,完成离线计算
-
Yarn:整个集群资源的调度和管理
几个组件:Hbase,Spark,Hive,ZooKeeper,Sqop,Yarn,Pig,Storm,Flumne
HDFS是按照块来进行存储的,128MB一个,副本个数为3,块是文件存储处理的逻辑单元
NameNode(存放元数据),DataNode(存放数据块),SecondaryNameNode
HDFS特点:
-
(1)数据冗余,硬件容错
-
(2)适合存储大文件,一次写入,多次读取,顺序读写,不适合多用户并发写相同文件。
-
(3)适合批量读写,吞吐量高;不适合交互式应用,低延迟很难满足。
MapReduce 来源于谷歌的论文,分而治之的特点
先文件拆分Spilts,文件按照行进行拆分---<key,value> key是偏移量
再<key,value> 交给map方法进行处理----->新的-<key,value>
mapper 按照相同的key进行相加
reducer多个文件进行合并
HBase是一个分布式,面向列的开源数据库主要用于存储海量数据,提供准实时查询
HBase中的数据都是字符串,没有类型
列族: 每一列都有一个归属的列族(公共前缀),创建表的时候列族必须被定义
info:name、info:age 都属于info这个列族的
相当于 是一个二维的才能确定一个属性
(非关系型数据库)NoSQL数据库的特点:灵活的可扩展性、灵活的数据类型、与云计算紧密耦合
NoSQL类型:键值数据库、列族数据库、文档数据库和图形数据库
键值数据库:redis
set 键 值
get 键
del 键
列族数据库:HBase
文档数据库:MongoDB
MongoDB没法直接创建数据库,可以先use 一个数据库,然后 插入数据 ---一个数据库就建好了
use 数据库名;---切换数据库
show dbs;------查看所有数据库
show collections ;----查看当前数据库所有表