1、什么是`hive`
hive
基于hadoop
分布式文件系统hdfs
开发的一个ETL(从数据源抽取Extract,并清洗交互转换Transform到加载Load目的端的一个过程)
和 数据仓储工具。hive
很容易执行很多操作
- 数据封装
- ad-hoc 查询:一条语句查询可能进行的是不同的查询,见https://stackoverflow.com/questions/2460954/what-is-ad-hoc-query“>
- 大数据集的分析
1.1、hive 特点
- hive 中首先建立数据库和表,然后再导入数据
- hive 被设计用来管理和查询存储在表中的结构化数据
- hive 使得用户脱离了复杂map reduce的编写,每条sql查询会被翻译成map reduce
- hive 提供的sql叫做hsql
- hive支持四种类型的文件:TEXTFILE, SEQUENCEFILE, ORC and RCFILE (Record Columnar File)
2、hive 结构
- hive clients:提供不同的驱动给应用,便于和hive server交互
- hive server:所有查询都需要经过hive server
- Hive Storage and Computing:
3、hive 模式
- 本地模式:适用于只含一个datanode,数据很小
$ hive
$ hive> SET mapred.job.tracker=local;
- map reduce模式:多节点datanode、数据分布在不同节点上