Hive环境的搭建【详细教程】

前言:

        Hive是一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为类似于数据库中的表,并提供类似于SQL的查询语言(HiveQL)来进行数据查询、分析和管理。Hive的主要优点是可以处理大量的数据,并且可以通过扩展集群来提高处理能力。

一、前期工作准备

  1、确保自己的MySQL安装成功

  2、确保Hadoop完全分布式集群部署成功并正常运行

  3、确保Hadoop完全分布式启动后页面端口能够正常访问

二、Hive环境部署

  1、解压hive压缩包

tar -zxvf hive压缩包

  2、将解压后的hive包名重命名一下(想重命名就重命名,不影响)

mv 你的hive包名 想要的hive包名

  3、创建hive的核心文件hive-site.xml,然后编辑核心文件

touch hive-site.xml

  4、启动MySQL服务,登录MySQL

mysql/support-files/mysql.server restart

  5、在MySQL中创建myhive用户(要和上面配置hive的核心文件里面的用户对应)

  6、创建一张数据库(与hive核心文件里面的数据库要保持一致)

  7、将MySQL的jdbc驱动拷贝到hive的lib依赖库中去

cp MySQL的jdbc驱动 hive/lib

  8、配置hive的环境变量

vim ./.bash_profile

  9、检查Hadoop和Hive的guava版本是否一致,如果不一致就用大的版本覆盖下的版本

# 查看guava的版本
ll | grep guava 

  10、初始化hive

schematool -dbType mysql -initSchema

  11、启动hive

hive

  到此,便完成了hive环境的安装部署。

### Hive元数据的概念 Hive元数据是关于Hive数据仓库的结构和属性的描述性信息[^1]。它包含了用于管理和理解存储在底层存储系统中的数据的关键信息,使Hive能够高效地查询和处理大规模分布式数据。 --- ### Hive元数据的主要组成部分 Hive元数据由多个部分组成,涵盖了数据库、表、分区等多个层次的信息: #### 1. **数据库 (Database)** 数据库的元数据包含其定义信息,例如数据库名称、所有者、创建时间等[^3]。每个数据库可以看作是一个逻辑容器,用来组织和隔离不同用途的数据集合。 #### 2. **表 (Table)** 每张表都有一组对应的元数据,包括但不限于表名、列名、列的数据类型、分区信息、存储格式以及表的所有者等。此外,还可能包含一些高级特性,比如压缩方法或分桶策略。 #### 3. **列 (Column)** 每一列表示一个字段,其元数据记录了该字段的名字、对应的数据类型(如整数、字符串等),以及可选的注释说明。 #### 4. **分区 (Partition)** 对于分区表而言,元数据会进一步细化到具体的分区维度上,例如分区键、分区值及其物理路径等。这种设计有助于优化查询性能并减少扫描范围。 #### 5. **数据类型 (Data Types)** 元数据还包括对各种基本数据类型的定义和支持情况,常见的有 `INT`、`STRING` 和 `DATE` 等标准SQL类型。 #### 6. **存储格式 (Storage Format)** 为了适应多样化的应用场景需求,Hive 支持多种文件存储格式作为实际数据载体,像纯文本 (`TEXT`) 文件、序列化二进制形式(`SEQUENCEFILE`) 或高效的列存方案(`ORC`, `Parquet`) 都被广泛采用。 --- ### Hive元数据的作用 Hive依赖于元数据来完成以下功能: - 提供统一视图以便访问分布在集群上的异构源; - 描述如何解析原始输入流成结构化记录集; - 维护对象间的关系链路从而简化复杂ETL流程构建过程; 具体来说,有了详尽准确的元数据支撑之后,用户无需关心底层细节即可轻松编写复杂的分析脚本或者报表程序。 --- ### Hive元数据的存储方式 Hive 的元数据可以通过不同的方式进行持久化保存,主要选项如下: #### 1. **关系型数据库(RDBMS)** 最常见的方式之一就是利用传统的关系型数据库管理系统(MySQL, PostgreSQL),它们提供了稳定可靠的事务保障机制同时易于维护扩展[^2]。 #### 2. **Apache Hive Metastore Service** 这是官方推荐的标准解决方案,默认情况下即基于JDBC连接至外部独立部署的服务实例之上运行。 #### 3. **其他工具集成**(如 Apache HCatalog / Atlas ) 当企业级环境中存在更多治理需求时,则可以选择引入更强大的平台产品来进行增强管理。 --- ```sql -- 创建一个新的数据库,并查看它的元数据信息 CREATE DATABASE IF NOT EXISTS my_database; DESCRIBE DATABASE EXTENDED my_database; -- 查看某张特定表格的相关元数据详情 SHOW TABLES IN my_database; DESCRIBE FORMATTED my_table; ``` 上述 SQL 片段展示了如何通过命令行界面交互获取某些基础级别的元数据条目。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值