大数据时代:
数据量大
数据种类繁多
数据增长速度快
大数据不同层面及技术:
大数据关键技术:
分布式存储
GFS/HDFS
BigTable/HBase
NoSQL(键值、列族、图形、文档数据库)
NewSQL(如 : SQL Azure )
分布式处理框架:
Hadoop
Storm
Flink
Spark
hadoop:
hadoop是Apache软件基金会旗下的一个开源式计算平台为用户提供了系统底层细节透明的分布式基础架构
Hadoop是java编写的开源、可伸缩和容错的框架,并且可部署在廉价的计算机集群中
hadoop以分布式文件系统HDFS和MapReduce为核心进行海量数据的存储和处理
Hadoop为在为多个节点集群上处理数据提供了有效的框架
hadoop可在多台机器上运行,提供数据的并行处理
hadoop生态圈:
1.HDFS
(1)hadoop的主要存储系统
(2)由主节点Namenode和从节点Datanode组成
(3)Namenode存储元数据(数据块的数量、位置)
(4)Datanode存储数据内容
2.YARN
(1)管理Hadoop的资源,负责管理和监视工作
(2)数据共享和资源统一管理
(3)是Hadoop支持更多的应用程序
3.MapReduce
(1)一种编程模型,用于海量数据的并行运算
(2)map函数 :从输入值中提取信息并对数据进行分类
(3)reduce函数 :整合、筛选或转化同类并输出
Hadoop的特点:
1.数据本地化:
(1)本地化是Hadoop能够进行大数据处理的独特性质
(2)在储存数据的位置处理数据
2.传统数据处理系统:
(1)存储与计算(数据处理)保持独立
(2)数据通过网络传输到计算机进行处理
Hadoop的缺点:
1.表达能力有限:
不支持多用户写入及任意修改文件
仅支持append
数据不支持随机读,只能从头到尾扫描
2.磁盘IO开销大:
MapReduce中,不同作业之间需要使用磁盘进行数据共享
对于训练模型,迭代轮数大,磁盘读写频繁
3.延迟高:
任务之间的衔接涉及IO开销
在之前一个任务执行完成之前,其他任务无法开始
难以胜任复杂、多阶段的计算任务