数据库

首页 » 常识 » 问答 » 揭秘大数据世界探索Hive驾驭海量数
TUhjnbcbe - 2024/12/31 12:00:00

什么是hive

Hive:由Facebook开源用于解决海量结构化日志的数据统计工具。

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。

什么是结构化数据:结构化数据就是有规律的

元数据:描述数据的数据,例如表头,注释等

hive不存储数据,hive的数据存储在hdfs上面,hive吧数据映射成一张表,hive是给数据添加了描述信息,也就是添加了元数据;

映射成一张表之后,优点是什么:方便对数据进行分析,查询等。

如果没有hive,处理数据就需要写MapReduce进行数据处理了。

好处就是,通过写sql,转换为MapReduce程序,来处理数据。

本质是:将HQL转化成MapReduce程序

hive不存储数据,数据存储在hdfs上,hive就是工具,用来将sql转换为MapReduce程序。执行在MapReduce上面。

(1)Hive处理的数据存储在HDFS

(2)Hive分析数据底层的实现是MapReduce

(3)执行程序运行在Yarn上

1.2Hive的优缺点

1.2.1优点

(1)操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)。

(2)避免了去写MapReduce,减少开发人员的学习成本。

(3)Hive的执行延迟比较高,因此Hive常用于数据分析,对实时性要求不高的场合。(只用于做离线数据)

(4)Hive优势在于处理大数据,对于处理小数据没有优势,因为Hive的执行延迟比较高。

(5)Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。

1.2.2缺点

1)Hive的HQL表达能力有限

(1)迭代式算法无法表达(无法实现循环)

(2)数据挖掘方面不擅长,由于MapReduce数据处理流程的限制,效率更高的算法却无法实现。

2)Hive的效率比较低(因为hive把sql翻译成MapReduce程序,没有直接写MapReduce程序好)

(1)Hive自动生成的MapReduce作业,通常情况下不够智能化

(2)Hive调优比较困难,粒度较粗(hive只能对sql进行调优,无法对hive本身进行调优)

1.3Hive架构原理

Metastore

通过客户端,jdbc协议连接,主要工作是把sql翻译成MapReduce程序,执行就行了

需要知道hive是做什么的?

hive中驱动器Driver四个组件是什么?

1)用户接口:Client

CLI(

1
查看完整版本: 揭秘大数据世界探索Hive驾驭海量数