目录
一、Hive概述
(1)什么是Hive?
- 由Facebook开源用于解决海量结构化日志的数据统计
- Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL查询功能
- 构建在Hadoop之上的数据仓库:使用HQL作为查询接口,使用HDFS存储,使用MapReduce计算
- 本质是:将HQL转化为成MapReduce程序
- 灵活性和扩展性比较好:支持UDF,自定义存储格式等
- Hive中的表是纯逻辑表,就只是表的定义等,即表的元数据。本质就是Hadoop的目录/文件,达到了元数据与数据存储分离的目的,Hive本身不存储数据,它完全依赖HDFS和MapReduce。
- Hive的内容是读多写少,不支持对数据的更新
- Hive中没有定义专门的数据格式,由用户指定,需要指定三个属性:1. 列分隔符 2. 行分隔符 3. 读取文件数据的方法
(2)Hive的优点及应用场景
- 操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)
- 避免了去写 MapReduce,减少开发人员的学习成本
- 统一的元数据管理,可与 impala/ spark等共享元数据
- 易扩展(HDFS+ MapReduce:可以扩展集群规模;支持自定义函数)
- 数据的离线处理;比如:日志分析,海量结构化数据离线分析