Hive基础(二)-hive的基本概念

网友投稿 1036 2022-05-30

hive:是hadoop的一个数据仓库。提供了一个类sql的功能,通过写一个sql语句完成数据的分析。

将结构化的数据映射成一张表

结构化数据: 存有关系的数据(关系型数据库)、有一定规则的文本

半结构化数据:非关系模型的、有基本固定结构模式的数据,例如日志文件、XML文档、JSON文档、Email等。

非结构化数据:没有固定模式的数据,如WORD、PDF、PPT、EXL,各种格式的图片、视频等。

hive本身不存储数据,数据存储到hdfs上,当执行sql语句的时候,实际是将sql语句转换成mapreduce去处理。

(1)用户的接口:写sql的地方,shell/cli jdbc odbc web接口

(2)解析器:

1)编译器:需要将sql编译成mapreduce

2)优化器:写一个sql,对sql进行一个优化

3)执行器:将mr交由yarn去执行

2.hive的架构:

1)用户接口:Hive提供多种用户接口,主要通过shell的client完成相关操作

2)解析器:

1)编译器:用于sql的解析,转化为mapreduce

2)优化器:在编译后的结果进行优化。

3)执行器:执行sql(最终执行mapreduce)

image.png

1)用户接口:Hive提供多种用户接口,主要通过shell的client完成相关操作

2)解析器:

1)编译器:用于sql的解析,转化为mapreduce

2)优化器:在编译后的结果进行优化。

3)执行器:执行sql(最终执行mapreduce)

image.png

image.png

(3)元数据:默认存储derby数据库

/hive bin/hive 产生两个库,元数据导致不一致

2.只允许一个人连接

3.实际中,我们使用mysql数据进行元数据的存储和管理

在使用hive之前,一定要启动hadoop

(1)详见文档

Hive基础(二)-hive的基本概念

(2)hive使用beeline的方式:

使用beeline连接,hive中没有设置对于自己的用户名和密码,输入用户名和密码,对于用户名要使用hadoop安装时的用户名,输入root

hive的使用方式:

有3种

元数据存放在mysql

1)hive shell

2)通过jdbc的方式连接,beeline

===[首先启动metastore,再启动hiveserver2]

首先要启动服务,hiveserver2

前台启动方式: bin/hive --service hiveserver2

后台启动方式:nohup bin/hive --service hiveserver2 2>&1 &

然后通过beeline的方式访问:

bin/beeline

!connect jdbc:hive2://node03:10000

3)hive 命令

hive -e #指定一个sql语句执行

bin/hive -e "use test;select * from test001;“

hive -f #指定一个sql脚本执行

bin/hive -f text.sql

2.hive的介绍

hive:是基于hadoop的数据仓库的工具。hive中数据的存储在hadoop的hdfs上进行存储。

hive中数据的分析,使用类sql的语言进行分析---HQL

hive中sql的自行,最终会转换成mapreduce去执行。

学习hive的原因:

1)学习成本的降低

2) 降低项目开发周期

3)mapreduce的难度大

使用hive:

1)操作简单易上手

hive的特点:

1)可扩展:hive可以自由扩展集群的规模。

注意:hive没有集群的概念,只是一个工具。

2)延展性:功能可以扩展,主要是用户自定义函数(udf)

3)容错:hadoop的容错机制。

hive中数据存储是基于hdfs

hive的HQL执行是基于mapreduce

hive和hadoop的关系:紧耦合

hive:数据仓库,基于hadoop实现 架构:hadoop, 执行引擎:mr 存储:hdfs 安装:默认使用derby,我们要使用mysql 客户端的连接: 1 bin/hive 2 beeline 3bin/hive -e 执行sql -f执行sql文件

Hive和数据库比较

Hive 和数据库除了拥有类似的查询语言,再无类似之处。

1)数据存储位置

1、Hive 存储在 HDFS 。

2、数据库将数据保存在块设备或者本地文件系统中。

2)数据更新

Hive中不建议对数据的改写。

而数据库中的数据通常是需要经常进行修改的。

3)执行延迟

Hive 执行延迟较高。数据库的执行延迟较低。当然,这个是有条件的,即数据规模较小,当数据规模大到超过数据库的处理能力的时候,Hive的并行计算显然能体现出优势。

4)数据规模

Hive支持很大规模的数据计算;数据库可以支持的数据规模较小。

image.png

Hive SQL

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:在Scala中构建Web API的4大框架
下一篇:来聊聊华为云WeLink那些好用的移动办公功能!
相关文章