1. 基础知识
Hadoop实现了一个特殊的计算模型,即MapReduce
MapReduce可以将计算任务分割成多个处理单元然后分散到一群家用的或服务器级别的硬件机器上,从而降低成本并提供水平可伸缩性
MapReduce模型下,是一个成为Hadoop分布式文件系统(HDFS)的分布式文件系统
Hive提供一个称为Hive查询语言(HiveQL或HQL)的SQL方言,用来查询Hadoop集群中的数据
Hive的缺陷:
- Hive不是一个完整的数据库,它不支持记录级别的更新、插入或者删除的操作
- Hive是一个面向批处理的系统,它的查询延时比较严重
- Hive不支持事务
Hive优势:它是最适合数据仓库应用程序的,其可以维护海量数据,而且可以对数据进行挖掘。然后形成意见和报告
1.1 Hadoop和MapReduce综述
MapReduce是一种计算模型。它可以将大型数据处理任务分解成很多单个的,可以在服务器集群中并行执行的任务。这些任务的计算结果,合并在一起可以用来计算最终结果。
MapReduce即:Map过程 + Reduce过程
Map过程:将集合中的元素从一种形式转换成另一种形式。
输入和输出的键必须完全不同,而输入和输出的值则可能完全不同
Reduce过程:将值的集合转换成一个值(例如对一组数值求和或求平均值),或转换成另一个集合
1.2 Hadoop生态系统中的Hive
Hive最适合于数据仓库程序,