一.Hive简介
Hive是基于Hadoop的一个数据仓库工具,它可以将结构化或半结构化的数据文件转化为一张数据库表,并提供简单的sql查询功能。
Hive产生的原因:非Java编程者可通过sql语句对HDFS的数据做mapreduce操作。
Hive本质:将HQL转换成MapReduce程序
Hive处理的数据存储在HDFS上
交给MapReduce计算数据
执行程序在yarn上
二. Hive的优缺点
优点
1)接口采用SQL语法,提供快速开发能力
2)避免去写MapReduce,减少开发者学习成本
3)Hive延迟较高,适合处理大规模数据分析,对实时性要求较低的场景
4)Hive支持用户自定义函数,用户可以根据自己的需求来是实现自己的函数
缺点
1)Hive的HQL表达能力不强
迭代算法无法表达
数据挖掘方面不擅长,由于MapReduce数据处理流程的限制,效率更高的算法却无法实现。
2)Hive的效率较低
Hive自动生成的MapReduce作业,通常情况下不够智能化
Hive调优比较困难,粒度较粗