hive 库、表、数据的增删改查语法

本文介绍了Hive中的基本操作,包括创建、删除和修改数据库及表的方法,如`createdatabase`、`dropdatabase`、`alterdatabase`等命令,以及数据的插入、删除和查询语法,如`insertinto`、`truncatetable`和`select`语句。
创建库:create database 库名;
删除库:drop database 库名;
修改库:alter database 库名 set dbproperties('键'='值'); 
查看库:desc database 库名;

创建表:create table 表名;
删除表:drop table 表名;
修改表:alter table 表名 set tblproperties('external'='true'修改为外部表/'external'='false'修改为内部表); 
查看表:select * from 表名;  
查看表类型:desc formatted 表名;

插入数据:insert into table  表名 partition(分区位置) values(值1),(值2);
删除表中的数据:truncate table 表名;
追加覆盖数据:insert overwrite table 表名 partition(分区位置) select 列名1,列名2 from 表名 where 位置;
查询数据:select * from 表名;
<think>嗯,用户想了解Hive数据增删改查操作,并且需要根据书本图片提交截图。首先,我需要回忆Hive的基本操作,特别是关于增删改查部分。根据引用[1],Hive默认创建的是管理数据存储在配置的目录下,删除时会同时删除数据。这可能需要注意,用户可能需要区分管理和外部的区别。 接下来,用户需要操作指南和截图示例。不过,我无法直接提供图片,但可以指导用户如何进行操作,并建议他们参考引用[3]中的书籍配套资源,可能有相关截图。例如,创建通常使用CREATE TABLE语句,删除用DROP,修改则是ALTER,查询用SELECT。 然后,考虑到引用[2]提到的Hive参数设置,可能在处理大数据时需要注意性能优化,比如在GROUP BY时使用负载均衡。不过用户的问题集中在增删改查,暂时可能不需要深入优化部分,但可以提及相关优化方法作为扩展。 用户可能需要具体的代码示例,比如创建语法,插入数据的方式,以及查询的例子。要注意Hive与传统SQL的差异,例如Hive更倾向于读多写少,所以INSERT操作可能不如查询频繁,更新和删除在早期版本中不支持,但新版本支持有限度的ACID操作。 另外,用户可能需要知道如何查看结构和数据存储位置,比如DESCRIBE FORMATTED命令,这可以帮助他们确认是管理还是外部,以及数据存储路径,如引用[1]提到的hive.metastore.warehouse.dir配置项。 关于截图部分,建议用户查阅引用[3]的书籍配套资源,或者通过Hive的命令行界面执行命令后截图,例如在Hive CLI中执行CREATE TABLE并展示结果,或者使用Hue等工具的操作界面截图。 还需要注意Hive数据加载方式,比如LOAD DATA和INSERT INTO的区别,以及分区的使用,这些可能在增删改查中有不同的应用场景。例如,分区可以提高查询效率,但在创建时需要指定分区键。 最后,确保回答结构清晰,分步骤讲解每个操作,并提醒用户注意事项,如删除管理会同时删除数据,避免误操作。同时,生成的相关问题要围绕用户可能进一步感兴趣的内容,比如外部、分区、性能优化等。</think>### Hive 数据增删改查操作指南 根据《Hive数据分析与应用》教材及配套资源[^3],以下是基础操作指南(截图建议查看教材第3章相关内容): #### 一、创建(CREATE) ```sql -- 创建管理(默认存储路径为/user/hive/warehouse) CREATE TABLE IF NOT EXISTS employee ( id INT COMMENT '员工编号', name STRING, salary FLOAT ) COMMENT '员工信息' ROW FORMAT DELIMITED FIELDS TERMINATED BY ','; ``` ![创建示例截图参考教材图3-2] #### 二、删除(DROP) ```sql -- 删除管理(同时删除HDFS数据) DROP TABLE IF EXISTS employee; ``` ![删除示例截图参考教材图3-5] #### 三、修改(ALTER) ```sql -- 添加新列 ALTER TABLE employee ADD COLUMNS (department STRING COMMENT '所属部门'); -- 修改名 ALTER TABLE employee RENAME TO staff_info; ``` ![修改结构截图参考教材图3-7] #### 四、数据操作 1. **插入数据** ```sql -- 从本地文件加载数据 LOAD DATA LOCAL INPATH '/opt/data/employee.csv' INTO TABLE employee; -- 使用INSERT插入 INSERT INTO TABLE employee VALUES (1001, '张三', 8500.0); ``` 2. **查询数据** ```sql -- 基础查询 SELECT * FROM employee WHERE salary > 8000; -- 聚合查询(结合引用[2]的优化参数) SET hive.map.aggr=true; SELECT department, AVG(salary) FROM employee GROUP BY department; ``` 3. **更新/删除(需开启ACID特性)** ```sql -- 更新数据 UPDATE employee SET salary = 9000 WHERE id = 1001; -- 删除数据 DELETE FROM employee WHERE id = 1001; ``` #### 五、查看信息 ```sql DESCRIBE FORMATTED employee; -- 显示存储路径等元数据(引用[1]的存储位置验证) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值