Hive产生背景:
mapreduce编程的不便性
HDFS上的文件缺少Schema
Hive
Facebook开源的,最初用于海量结构化的日志数据统计问题
构建在hadoop之上的数据仓库
hive定义了一种类SQL查询语言:HQL(类似SQL但不完全相同)
通常用于离线数据处理(采用mapreduce)
底层支持多种不同的执行引擎:
Hive on Mapreduce
Hive on Tez
Hive on Spark
支持多种不同的压缩格式、存储格式以及自定义的函数
压缩:GZIP LZO snappy BZIP2..
存储:TextFile、SequenceFile、RCFile、ORC、Parquet
UDF:自定义函数
官网:hive.apache.org
为什么要使用Hive
简单、易上手(提供类似SQL查询语言HQL)
为超大数据集设计的计算/存储扩展能力(MR计算、HDFS存储)
统一的元数据管理(可与presto/Impala/SparkSQL等共享数据)
------一句话总结:hive使用SQL完成大数据相关统计分析操作
Hive环境搭建
1)hive下载hive-1.1.0-cdh5.7.0
2)解压
3)配置
官网
系统环境变量(~/.bash_profile)
事先安装一个MySQL,
hive-site.xml
四个属性配置
4)拷贝MySQL驱动到$HIVE_HOME/lib/
5)启动hive:HIVE_HOME/bin/hive
hive基本使用
创建表
使用hive完成Wordcount统计(对比mapreduce实现的易用性)
案例:员工表和部门表操作
hive SQL提交执行以后会生成mr作业,并在yarn上运行