千家信息网

Hive环境的搭建和基础用法

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容主要讲解"Hive环境的搭建和基础用法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Hive环境的搭建和基础用法"吧!一、Hive基础简介1、基础
千家信息网最后更新 2026年11月03日Hive环境的搭建和基础用法

本篇内容主要讲解"Hive环境的搭建和基础用法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Hive环境的搭建和基础用法"吧!

一、Hive基础简介

1、基础描述

Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,是一个可以对Hadoop中的大规模存储的数据进行查询和分析存储的组件,Hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行,使用成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。hive十分适合对数据仓库进行统计分析。

2、组成与架构

用户接口:ClientCLI、JDBC访问Hive、WEBUI浏览器访问Hive。

元数据:Hive将元数据存储在数据库中,如mysql、derby。Hive中的元数据包括表的名字,表的列和分区以及属性,表的属性(是否为外部表等),表的数据所在目录等。

驱动器:基于解释器、编辑器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。

执行器引擎:ExecutionEngine把逻辑执行计划转换成可以运行的物理计划。

Hadoop底层:基于HDFS进行存储,使用MapReduce进行计算,基于Yarn的调度机制。

Hive收到给客户端发送的交互请求,接收到操作指令(SQL),并将指令翻译成MapReduce,提交到Hadoop中执行,最后将执行结果输出到客户端。

二、Hive环境安装

1、准备安装包

hive-1.2,依赖Hadoop集群环境,位置放在hop01服务上。

2、解压重命名

tar -zxvf apache-hive-1.2.1-bin.tar.gzmv apache-hive-1.2.1-bin/ hive1.2

3、修改配置文件

创建配置文件

[root@hop01 conf]# pwd/opt/hive1.2/conf[root@hop01 conf]# mv hive-env.sh.template hive-env.sh

添加内容

[root@hop01 conf]# vim hive-env.shexport HADOOP_HOME=/opt/hadoop2.7export HIVE_CONF_DIR=/opt/hive1.2/conf

配置内容一个是Hadoop路径,和hive配置文件路径。

4、Hadoop配置

首先启动hdfs和yarn;然后在HDFS上创建/tmp和/user/hive/warehouse两个目录并修改赋予权限。

bin/hadoop fs -mkdir /tmpbin/hadoop fs -mkdir -p /user/hive/warehousebin/hadoop fs -chmod g+w /tmpbin/hadoop fs -chmod g+w /user/hive/warehouse

5、启动Hive

[root@hop01 hive1.2]# bin/hive

6、基础操作

查看数据库

hive> show databases ;

选择数据库

hive> use default;

查看数据表

hive> show tables;

创建数据库使用

hive> create database mytestdb;hive> show databases ;defaultmytestdbhive> use mytestdb;

创建表

create table hv_user (id int, name string, age int);

查看表结构

hive> desc hv_user;id                    int                                            name                    string                                        age                        int

添加表数据

insert into hv_user values (1, "test-user", 23);

查询表数据

hive> select * from hv_user ;

注意:这里通过对查询日志的观察,明显看出Hive执行的流程。

删除表

hive> drop table hv_user ;

退出Hive

hive> quit;

查看Hadoop目录

# hadoop fs -ls /user/hive/warehouse       /user/hive/warehouse/mytestdb.db

通过Hive创建的数据库和数据存储在HDFS上。

三、整合MySQL5.7环境

这里默认安装好MySQL5.7的版本,并配置好相关登录账号,配置root用户的Host为%模式。

1、上传MySQL驱动包

将MySQL驱动依赖包上传到hive安装目录的lib目录下。

[root@hop01 lib]# pwd/opt/hive1.2/lib[root@hop01 lib]# llmysql-connector-java-5.1.27-bin.jar

2、创建hive-site配置

[root@hop01 conf]# pwd/opt/hive1.2/conf[root@hop01 conf]# touch hive-site.xml[root@hop01 conf]# vim hive-site.xml

3、配置MySQL存储

                  javax.jdo.option.ConnectionURL          jdbc:mysql://hop01:3306/metastore?createDatabaseIfNotExist=true          JDBC connect string for a JDBC metastore                          javax.jdo.option.ConnectionDriverName          com.mysql.jdbc.Driver          Driver class name for a JDBC metastore                          javax.jdo.option.ConnectionUserName          root          username to use against metastore database                          javax.jdo.option.ConnectionPassword          123456          password to use against metastore database        

配置完成后,依次重启MySQL、hadoop、hive环境,查看MySQL数据库信息,多了metastore数据库和相关表。

4、后台启动hiveserver2

[root@hop01 hive1.2]# bin/hiveserver2 &

5、Jdbc连接测试

[root@hop01 hive1.2]# bin/beelineBeeline version 1.2.1 by Apache Hivebeeline> !connect jdbc:hive2://hop01:10000Connecting to jdbc:hive2://hop01:10000Enter username for jdbc:hive2://hop01:10000: hiveroot (账户回车)Enter password for jdbc:hive2://hop01:10000: ******   (密码123456回车)Connected to: Apache Hive (version 1.2.1)Driver: Hive JDBC (version 1.2.1)0: jdbc:hive2://hop01:10000> show databases;+----------------+--+| database_name  |+----------------+--+| default        |+----------------+--+

四、高级查询语法

1、基础函数

select count(*) count_user from hv_user;select sum(age) sum_age from hv_user;select min(age) min_age,max(age) max_age from hv_user;+----------+----------+--+| min_age  | max_age  |+----------+----------+--+| 23       | 25       |+----------+----------+--+

2、条件查询语句

select * from hv_user where name='test-user' limit 1;+-------------+---------------+--------------+--+| hv_user.id  | hv_user.name  | hv_user.age  |+-------------+---------------+--------------+--+| 1           | test-user     | 23           |+-------------+---------------+--------------+--+select * from hv_user where id>1 AND name like 'dev%';+-------------+---------------+--------------+--+| hv_user.id  | hv_user.name  | hv_user.age  |+-------------+---------------+--------------+--+| 2           | dev-user      | 25           |+-------------+---------------+--------------+--+select count(*) count_name,name from hv_user group by name;+-------------+------------+--+| count_name  |    name    |+-------------+------------+--+| 1           | dev-user   || 1           | test-user  |+-------------+------------+--+

3、连接查询

select t1.*,t2.* from hv_user t1 join hv_dept t2 on t1.id=t2.dp_id;+--------+------------+---------+-----------+-------------+--+| t1.id  |  t1.name   | t1.age  | t2.dp_id  | t2.dp_name  |+--------+------------+---------+-----------+-------------+--+| 1      | test-user  | 23      | 1         | 技术部      |+--------+------------+---------+-----------+-------------+--+

五、源代码地址

GitHub·地址https://github.com/cicadasmile/big-data-parentGitEE·地址https://gitee.com/cicadasmile/big-data-parent

到此,相信大家对"Hive环境的搭建和基础用法"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

数据 查询 配置 数据库 基础 环境 存储 目录 内容 文件 语句 分析 仓库 地址 驱动 客户 客户端 属性 工具 指令 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技 互联网和科技创新 涨乐互联网科技 金融科技创新监管互联网金融 友谊互联网络科技 互联网科技公司名称 科技伦理 互联网公司 互联网科技股午盘股票涨跌 海南购全球互联网科技 互联网和高科技公司 北京大学互联网科技怎么样 福州新华互联网科技学校 知乎 华夏互联网科技业 互联网与医疗科技 宜昌元轩互联网科技有限公司 科技类公司包括互联网吗 烟台灵鸽互联网科技有限公司 为客找房互联网科技公司怎么样 绵阳真晨互联网科技有限公司 互联网科技大佬云集 互联网科技有限公司图片 互联网科技开发公司 奇酷互联网科技公司 广州紫鲸互联网科技 无锡溥仪互联网科技有限公司 互联网汽车科技小镇 欧洲十大科技互联网公司 新兴科技互联网创新大赛颁奖典礼 民营互联网公司国防科技 佛山市翊博互联网络科技有限公司
0