0


大数据Hive安装与配置

前言

Hive 是一个构建在 Hadoop 之上的数据仓库工具,用于数据的提取、转换和加载(ETL),并提供了一种类 SQL 的查询语言(HiveQL),使用户能够轻松查询和分析大规模数据集。以下是对 Hive 的一些关键点的详细介绍:

基本概念

  • HiveQL: Hive 提供的查询语言类似于 SQL,支持常用的查询功能,如选择、过滤、聚合和连接等。
  • : Hive 使用表来存储数据,表的数据可以存储在 Hadoop HDFS 中。Hive 支持不同的表类型:- 管理表(Managed Tables):当删除表时,表的数据也会被删除。- 外部表(External Tables):数据存储在外部位置(如 HDFS),删除表时数据不会被删除。
  • 分区: Hive 允许对表进行分区,分区可以帮助提高查询性能。数据可以按某个列进行分区,使得查询时只扫描相关的分区。
  • : 在分区的基础上,Hive 还支持桶(Bucketing),数据可以在分区内进一步分散到多个文件中。桶的数目由 CLUSTERED BY 子句定义。

架构

Hive 的架构主要由以下几个部分组成:

  • Hive Metastore: 用于存储 Hive 表的结构和元数据(如表名、字段名、数据类型等)。Metastore 是 Hive 的核心部分,使用关系型数据库(如 MySQL、PostgreSQL 等)来存储这些元数据。
  • Driver: Hive 的驱动程序接收 HiveQL 查询并将其编译为 MapReduce 作业。
  • Compiler: HiveQL 查询会被编译成多个 MapReduce 任务,便于在 Hadoop 上执行。
  • Execution Engine: 执行编译后的 MapReduce 作业并处理结果。

主要特性

  • 扩展性: Hive 支持用户自定义函数(UDF),用户可以根据需要扩展 Hive 的功能。
  • 数据存储: Hive 可以与多种数据存储系统集成,如 HDFS、HBase、Amazon S3 等。
  • 兼容性: Hive 兼容多种数据格式,包括文本、Parquet、ORC、Avro 等,支持结构化和半结构化数据。

使用场景

Hive 适用于批量处理和数据分析的场景,例如:

  • 大数据处理和分析。
  • 数据仓库和报表生成。
  • 数据挖掘和机器学习的前处理。

安装配置

上传Hive

上传方式可通过本地拖拽文件上传,也可通过连接xftp来拖拽至xshell命令行里实现

解压Hive

将Hive 3.1.2的安装包解压到/root/software 目录下

(如若没有目录则需创建)

mkdir software/
tar -zxvf apache-hive-3.1.2-bin.tar.gz -C software

解压完毕

配置环境变量

在“/etc/profile”文件中配置Hive环境变量 HIVE_HOME和PATH的值,并让配置文件立即生效;

vim /etc/profile

输入以下参数值

export HIVE_HOME=/root/software/apache-hive-3.1.2-bin
export PATH=$PATH:$HIVE_HOME/bin

wq保存并退出

刷新配置

source /etc/profile

修改配置文件

切换到$HIVE_HOME/conf目录下,将hive-env.sh.template复制一份并重命名为hive-env.sh

cd $HIVE_HOME/conf

cp hive-env.sh.template hive-env.sh

使用vim编辑器进行编辑,在文件中配置HADOOP_HOME、 HIVE_CONF_DIR以及HIVE_AUX_JARS_PATH参数的值,将原有 值删除并将前面的注释符#去掉

vim hive-env.sh

插入参数值

#将原有的#注释符去掉
HADOOP_HOME=/root/software/hadoop-3.3.0
export HIVE_CONF_DIR=/root/software/apache-hive-3.1.2-bin/conf
export HIVE_AUX_JARS_PATH=/root/software/apache-hive-3.1.2-bin/lib

wq保存并退出

MySQL驱动包

上传MySQL驱动包

将mysql-connector-java-5.1.47-bin.jar上传至/root/software目录下

解压MySQL驱动包

tar -zxvf mysql-connector-java-5.1.47.tar.gz 

进入解压完的目录

cd mysql-connector-java-5.1.47/

将mysql-connector-java-5.1.47-bin.jar拷贝到$HIVE_HOME/lib目录下

cp mysql-connector-java-5.1.47-bin.jar $HIVE_HOME/lib

拷贝完成

配置文件

创建文件

进入$HIVE_HOME/conf

cd $HIVE_HOME/conf

在$HIVE_HOME/conf目录下创建一个名为hive-site.xml的文件

touch hive-site.xml

编辑文件

并使用vim编辑器进行编辑如下内容

**配置参数 **

**描述 **

**参数值 **

javax.jdo.option.ConnectionURL

连接元数据库的链接信息

jdbc:mysql://master:3306/hivedb

?createDatabaseIfNotExist=true&

amp;useSSL=false&useUnicode

=true&characterEncoding=UTF

-8

javax.jdo.option.ConnectionDriverName

连接数据库驱动

com.mysql.jdbc.Driver

javax.jdo.option.ConnectionUserName

连接数据库用户名称

root

javax.jdo.option.ConnectionPassword

连接数据库用户密码
123456

vim hive-site.xml

wq保存退出

接着登录到mysql

mysql -u root -p123456

初始化元数据

使用schematool命令,通过指定元数据库类型为“mysql”,来初始化源数据库的元数据

初始化Hive元数据库(修改为采用MySQL存储元数据)

bin/schematool -dbType mysql -initSchema -verbose


出现红框以内的内容就是初始化成功

在Hive客户端下创建管理表

启动Hive CLI

首先,启动Hive命令行界面

hive

这将进入Hive的命令行模式,你将看到类似以下提示符

hive>

创建名为

student

的管理表
字段数据类型idintnamestring

  • id(整数类型)
  • name(字符串类型)

表的结构如上:

使用以下SQL语句

CREATE TABLE student (
  id INT,
  name STRING
);

执行此命令后,Hive会在默认数据库下创建一个管理表

student

查看表

创建表后,你可以通过以下命令查看刚创建的表

SHOW TABLES;

你会看到输出如下,表示表已成功创建

查看表结构

也可以查看表的详细结构

输入以下命令

DESCRIBE student;

使用insert语句插入测试数据

插入数据

假设我们想插入

id

1

name

"John Doe"

的记录,可输入以下SQL命令

INSERT INTO TABLE student VALUES (1, 'John Doe');

确认数据是否插入

我们可以查询表里的内容来确认数据有没有正确插入成功

SELECT * FROM student;

插入成功

标签: 大数据 hive hadoop

本文转载自: https://blog.csdn.net/2301_79986451/article/details/143114672
版权归原作者 小木日① 所有, 如有侵权,请联系我们删除。

“大数据Hive安装与配置”的评论:

还没有评论