什么是大数据?
Hadoop生态系统工具
分布式与集群
指“无法由现有软件工具提取,存储,搜索,共享,分析和处理的庞大而复杂的数据集”。
行业通常使用五个V总结大数据的特征如下:
Volume(数据体量大)
Variety(种类、来源多样化)
Value(低价值密度)
Velocity(速度快)
Veracity(数据的质量)
Hadoop是由Apache Foundation开发的分布式系统基础结构。 Doug Cutting受到Google
Lab开发的Map/Reduce和Google File System(GFS)的启发。
Hadoop的核心体系结构是MapReduce编程模型和HDFS分布式文件系 统。
MapReduce框架可以将应用程序分解为许多并行计算指令,从而在大量计算节点上运行非常大的数据集
使用“分而治之”的思想,Map用于分割大数据,Reduce用于合并Map计算的结果。
HDFS(Hadoop Distributed File System)分布式文件系统为海量数据和大文件提供存储服务。
将大文件(大于64M/128M)拆分为块(每个块64M或者128M),多节点存放。
具有高吞吐量、高容错性
Hbase中表的特征
大: 一个表可以有上亿行,上百万列
面向列: 面向列(族)的存储和权限控制,列(族)独立检索
稀疏: 对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏
Apache Hive数据仓库软件提供对存储在分布式中的大型数据集的查询和管理,它本身是建立在Apache Hadoop之上,主要提供以下功能:
它提供了一系列的工具,可用来对数据进行提取/转化/加载(ETL)
HIVE可以存储、查询和分析存储在HDFS(或者HBase)中的大规模数据的机制;
通过将SQL转化为MapReduce作业在Hadoop上运行,进行海量数据的统计分析处理
Hive定义了一种类似SQL的查询语言,被称为HQL,对于熟悉SQL的用户可以直接利用Hive来查询数据。
这个语言也允许熟悉 MapReduce
开发者们开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作
Hive可以允许用户编写自己定义的函数UDF。
Hive的缺点:
Hive目前还不支持事务;
不能对表数据进行修改(不能更新、删除、插入;只能通过文件追加数据、重新导入数据)
查询速度比较慢
Apache Storm是一个免费和开源的分布式实时计算系统,它简化了流数据的可靠处理。
Storm具有许多应用场景,包括实时数据分析,在线学习,连续计算,分布式RPC,ETL等。
Storm速度非常快,并且测试在单个节点上每秒执行一百万个组处理。
特征
特征
使用场景
分布式、集群是两个不同的概念,但口语中经常混淆二者。
多台机器,每台机器上部署不同组件
多台机器,每台机器上部署不同组件
都是多台机器(服务器)组成的;
因此口语中混淆两者概念的时候都是∶相对于单机来说的。
1、如何存储?
单机存储有瓶颈
多台机器分布式存储
2、如何计算?
单机计算能力有限
多台机器分布式计算