hive常用命令总结(亲测有效)

本文简要介绍了Hive作为大数据时代的数据库,主要用于构建数据仓库。Hive使用类似于SQL的HQL进行查询,学习成本相对较低。文章重点总结了Hive的基础操作,包括增删改查等常用命令,并提及了Hive的性能调优相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

																																						死,这是第二遍总结了,第一遍刚总结完,就被臭宝给直接退出了,无语,再来一次。

首先简单的说一下hive是个什么东西,能用来在做什么。hive其实就是一个数据库,在大数据时代,常用来构建数据仓库。简称数仓,当然,我以前也做过数据仓库的项目,但是都是用oracle来写的。既然是数据库,那么也离不开sql,hive中的sql又叫hql,所以排除API编写和底层原理的话,学习起来的学习成本不是很高。那么就再总结一次hive常用命令吧,之余hive的性能调优,之前也写了一部分,有兴趣的伙伴可以去瞅瞅哈。
就从最简单的增删改查来写吧。

 1 创建数据库
 有两种创建方法,如果不指定创建路径的话,会默认存放再HDFS上 
 1.1 默认创建数据库
 create database db_hive;

默认创建hive数据库存放的位置
在这里插入图片描述
在这里插入图片描述

1.2 指定路径创建数据库:
create database db_hive2 location '/db_hive2.db';

效果如下:
在这里插入图片描述

1.3 查看创建数据库的信息,包括存储位置等;
show create database db_hive;

在这里插入图片描述


1.4 修改数据库信息(暂不支持修改数据库名称):
用户可以使用ALTER DAT
Hive SQL 是一种用于查询和管理数据仓库中数据的语言,它与传统的 SQL 类似,但在某些方面具有独特的特性和最佳实践。以下是一些常用的 Hive SQL 命令及其最佳实践。 ### 数据定义语言 (DDL) #### 创建表 创建表时,需要指定表名、列名及其数据类型,并可以选择存储格式和其他属性。 ```sql CREATE TABLE table_name ( column1_name column1_type, column2_name column2_type, ... ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE; ``` - `ROW FORMAT DELIMITED` 指定行的格式为分隔符格式。 - `FIELDS TERMINATED BY ','` 指定字段之间的分隔符。 - `STORED AS TEXTFILE` 指定存储格式为文本文件[^2]。 #### 删除删除表可以使用 `DROP TABLE` 命令。 ```sql DROP TABLE IF EXISTS table_name; ``` #### 修改表 修改表结构可以通过 `ALTER TABLE` 命令实现。 ```sql ALTER TABLE old_table_name RENAME TO new_table_name; ALTER TABLE table_name ADD COLUMNS (new_column_name new_column_type); ``` ### 数据操作语言 (DML) #### 插入数据 插入数据可以通过 `INSERT INTO` 或 `INSERT OVERWRITE` 命令实现。 ```sql INSERT INTO TABLE table_name VALUES (value1, value2, ...); INSERT OVERWRITE TABLE table_name SELECT * FROM another_table; ``` #### 查询数据 查询数据Hive 中最常用的操作之一。 ```sql SELECT column1, column2, ... FROM table_name WHERE condition; ``` ### 分区和桶 #### 创建分区表 分区表可以提高查询性能。 ```sql CREATE TABLE sales_data ( product_id INT, sale_amount DOUBLE ) PARTITIONED BY (dt STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE; ``` #### 添加分区 添加分区可以使用 `ALTER TABLE ... ADD PARTITION` 命令。 ```sql ALTER TABLE sales_data ADD PARTITION (dt='2023-01-01'); ``` #### 删除分区 删除分区可以使用 `ALTER TABLE ... DROP PARTITION` 命令。 ```sql ALTER TABLE sales_data DROP PARTITION (dt='2023-01-01'); ``` ### 文件合并 #### 合并小文件 合并小文件可以提高查询性能。 ```sql ALTER TABLE table_name CONCATENATE; ``` ### 性能优化 #### 使用 ORC 文件格式 ORC 文件格式提供了高效的压缩和编码技术。 ```sql CREATE TABLE orc_table ( id INT, name STRING ) STORED AS ORC; ``` #### 设置合理的分区策略 合理设置分区策略可以避免过多的小分区,从而提高查询性能[^2]。 ### 其他实用命令 #### 显示数据库 显示所有数据库可以使用 `SHOW DATABASES` 命令。 ```sql SHOW DATABASES; ``` #### 切换数据库 切换数据库可以使用 `USE` 命令。 ```sql USE database_name; ``` #### 显示表 显示当前数据库中的所有表可以使用 `SHOW TABLES` 命令。 ```sql SHOW TABLES; ``` #### 查看表结构 查看表结构可以使用 `DESCRIBE` 命令。 ```sql DESCRIBE table_name; ``` ### 最佳实践 - **合理设置分区策略**:避免过多的小分区,以提高查询性能。 - **使用 Hive Merge 相关参数自动合并小文件**:这有助于减少文件数量,提高查询效率。 - **定期执行 `ALTER TABLE ... CONCATENATE` 命令**:合并小文件可以提高查询性能。 - **使用 Hive ACID 的自动压缩功能**:这有助于保持数据的一致性和高效性[^2]。 通过遵循这些最佳实践,可以有效地管理和优化 Hive 数据仓库中的数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值