什么是大数据
通过分布式存储技术存储海量数据,然后运用分布式运算框架并分析挖掘出有价值的信息.
核心概念:
- 海量数据存储–通过分布式技术,整合众多PC机的存储,从而实现一个大的存储系统.例如:海量的订单信息,天气信息,个人信息……
- 大数据计算–通过分布式技术,整合众多PC机的CPU,实现一个大的运算系统.例如:产品推荐,气象计算,行为统计……
相关概念:
- 高可用(HA):备份及高可靠性.
- 数据同步:保证数据一致性
- 负载均衡:服务/数据都存在多份,需要使其可以均衡工作
大数据的特征:
(Volumn)大量,(Velocity)高速,(Variety)多样,(Value)价值,(Veracity)真实性其他概念:
- 分布式:一个业务拆分成为多个业务,分别部署在多个计算机上–工作方式概念.
- 集群:多个计算机根据网络等方式连接在一起–物理概念.
大数据概述
Google三大理论
google低成本思想:使用多台普通计算机替代一台昂贵的商用服务器
GFS-Google File System 谷歌分布式文件系统
- 磁盘按块划分,每一块64MB,从而提高磁盘寻址速度
- 通过主控机(Master)对数据机(Chunck Server)进行存储管理
- 通过主控机和数据机的备份,实现高可用
- 通过分布式内部运行机制实现负载均衡和数据一致性
PageRank 搜索排名
- 通过Google矩阵存储并直观表达Page页面引用关系
- 对庞大的矩阵进行分布式存储及计算
- 汇总分布式计算结果
BigTable 大表
- 提出列级表的概念–表是由列簇组成的,列簇由多个列组成,每张表的列簇不宜超过3个
- 通过行列快速索引列簇,通过分布式并发查询,提高查询效率.
Hadoop 大数据平台
Hadoop 概述
Apache Lucene创始人Doug Cutting创建,起源于开源网络引擎Apache Nutch.
现在Hadoop是企业主流的部署系统,正在逐步完善.
Hadoop核心技术
HDFS(Hadoop Distribution File System),海量文件存储系统,对应谷歌文件存储系统
- 磁盘按块划分,每个块默认64MB(现在使用128MB),提高磁盘寻址速度
- 主控(NameNode)对数据机(DataNode)进行数据存储管理
- 通过Secondary NameNode和数据多备份实现高可用
- 通过分布式内部运行机制实现均衡负载和数据一致性
MapReduce,批处理,对应谷歌的搜索排名
- 用Map数据结构收集文本信息,通过分词器将每一行的文本信息进行拆分
- 拆分后的词放到Map中
- 通过Reduce,收集Map初步汇总的数据,得到最终结果
- 分布式资源调度工作由底层框架ResourceManager,ApplicationManager和NodeManager完成.
Hbase,NoSQL数据库,对应谷歌的大表
- 继承列级表概念和索引查询
- 通过Master和Region,RegionServer实现分布式系统
Hive 数据仓库工具
- 将结构化的数据文件映射为一张数据库表,提供SQL查询功能
- 提供工具,用于数据的提取,转化,加载
- 使用MapReduce作为计算模型
- 易于扩展
Storm 实时运算框架
- Supvisor是运算数据的节点
- NimBus是总控,关联数据源,并组织Supvisor对数据进行汇总计算
所需基础知识
- Linux基础:基本概念,目录结构,Vim编辑器,文件目录操作,压缩命令,权限管理,软件安装
- Java开发:Java SE,Maven
- 数据库:数据库基本概念,MySQL,Oracle