什么是大数据?
指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。IBM 提出 大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。
大数据应用在什么地方?
商品的推荐
根据用户的行为为用户推荐与之匹配的商品,在这样的问题下 就会衍生出两个问题(1)大量的订单如何存储?(2)大量的订单如何计算?
天气预报
通过分析以往记录的天气 达到天气预报的目的 想要达到天气天气遇到同样存在两个问题(1)大量的天气数据如何存储?(2)大量的天气数据如何计算?
大数据的核心问题
数据的存储:分布式的存储(分布式的文件系统)
数据的计算:分布式的计算(MapReduce 和 Spark RDD)
Google 的基本思想:三篇论文
(1) GFS(Google File System)谷歌的文件系统
(2)MapReduce:计算模型,处理大数据
-------> MapReduce 的来源 ------>PageRank的问题
(3)BigTable:大表 ----->NoSql的数据库
学习时的实验环境

Apache Hadoop的体系结构
1、HDFS:hadoop distributed file system
(*)主节点:NameNode
(*)从节点:DataNode
(*)SecondaryNameNode
2、Yarn:运行MapReduce程序
(*)主节点:ResourceManager
(*)从节点:NodeManager
3、HBase
(*)主节点:HMaster
(*)从节点:RegionServer
Hadoop 2.X的安装与配置
三种模式
1、本地模式
2、伪分布模式
3、全分布模式
Hadoop应用案例分析
HDFS: 分布式的文件系统
1、操作HDFS:命令行、Java API、Web Console
2、原理:文件上传和文件下载的原理
3、HDFS高级功能
(*)回收站:补充:Oracle回收站
(*)快照snapshot:是一种备份
(*)配额quota:(1)名称配额 (2)空间配额
(*)安全模式:safemode
(*)HDFS的权限:类似Linux
(*)底层原理:RPC和Java的动态代理
MapReduce:计算模型,使用Java的语言
(*)第一个案例:WordCount 单词计数 ----> MapReduce处理数据的过程
(*)MR的功能:
(1)排序:基本数据类型(字符串和数字)
对象
(2)序列化:类似Java的序列化
MR的序列化表示:如果一个类实现了MR的序列化,这个类的对象就可以作为Map和Reduce输入输出对象
(3)分区:partition
(4)合并:combiner
(5)MR的核心:Shuffle(洗牌)
Hive:是数据分析引擎
1、什么是Hive?是基于Hadoop之上的数据仓库
2、支持SQL select ----> hive 转换 ----> MapReduce程序
3、体系结构和安装配置
4、(重要)数据模型:内部表、外部表、分区表、桶表、视图
5、通过Java访问Hive的数据
(*)JDBC
(*)Thrift Client
6、Hive自定义函数(本质也是一个Java程序)
Pig:是数据分析引擎
1、什么是Pig?体系结构
2、安装和配置
3、数据模型
4、支持语言:PigLatin语言 ----> MR程序
5、自定义函数
HBase:NoSQL数据库
1、常用的NoSQL数据库
(*)HBase
(*)Redis
(*)MongoDB
(*)Cassandra
2、体系结构和安装配置,表结构
3、操作:命令行、Java API、Web Console
4、HBase的过滤器(filter)
5、HBase上的MR
6、HBase的HA(high avaibiltiy)
Sqoop:数据交换
1、采集关系型数据库 Oracle <----> Sqoop <----> HDFS、HBase、Hive
Flume:数据采集
1、采集日志
2、体系结构
HUE:基于Web的图形工具
ZooKeeper:相当于是一个数据库,实现HA(HDFS、Yarn、HBase、Storm、Spark)
1、特点:自动在ZK集群中,实现数据的同步
Hadoop的集群和HA
1、HDFS的联盟(Federation):Load Balance
2、利用Zk实现HA:fail over
Redis: 基于内存的NoSQL的数据库
1、安装配置
2、基本操作
3、简单的事务管理和消息机制
4、持久化
5、集群:实现读写分离
Storm:实现实时计算Pig:是数据分析引擎
1、什么是Pig?体系结构
2、安装和配置
3、数据模型
4、支持语言:PigLatin语言 ----> MR程序
5、自定义函数