hive 表

内部表

先在hive中创建一张表,然后向这个表中插入数据(insert,通过加载文件)。这样的表成为hive的内部表。
什么是内部表:先有hive表,在有数据。
特点:当内部表被删除时,对应的hdfs中的数据也会被删除。

外部表(实际开发中较为常用)

HDFS文件系统中已存的文件,里面存储了一些数据,之后再有hive去管理。
什么是外部表:先有数据,再有hive表。
特点是:删除外部表的时候,表所对应的数据文件依然存在。

小实验:
在hdfs上面创建一个目录,并上传一个文件。
进入hive,在hive中执行命令:
create external table t5 (id int,name string) row format delimited fields terminated by ’ ’ location ‘/hive/stu/’;
成功之后,t5表中就会把/hive/stu里面的文件内容当做数据插入。

分区表

Hive的DML(Data Manipulation Language)操作包括对数据的增加(INSERT)、查询(SELECT)、更新(UPDATE)和删除(DELETE)。以下是每种操作的基本介绍: 1. INSERT操作: Hive提供了向中插入数据的方法,可以将数据插入到新中或者追加数据到现有中。 ```sql INSERT OVERWRITE TABLE 新 [PARTITION (分区列 = '分区值')] SELECT 列1, 列2 FROM 原 WHERE ...; INSERT INTO TABLE 现有 [PARTITION (分区列 = '分区值')] SELECT 列1, 列2 FROM 原 WHERE ...; ``` Hive 0.14版本之后支持更新(UPDATE)和删除(DELETE)操作。 2. SELECT操作: SELECT语句用于从中选择数据。这是最常用的查询语句,可以使用各种聚合函数、条件判断等来进行复杂查询。 ```sql SELECT 列名 FROM 名 WHERE 条件; ``` 3. UPDATE操作: UPDATE用于更新中已经存在的数据,但只能更新最后一个分区的数据。 ```sql UPDATE 名 SET 列名 = 新值 WHERE 条件; ``` 4. DELETE操作: DELETE用于从中删除数据,同样只支持删除最后一个分区的数据。 ```sql DELETE FROM 名 WHERE 条件; ``` Hive中的DML操作通常使用MapReduce进行执行,因此操作的性能相较于传统关系型数据库要慢一些。需要注意的是,由于Hive本质上是存储在HDFS上的数据,因此在执行更新或删除操作时,实际上是在原有数据的基础上进行标记或添加新的数据版本,而不是直接修改原数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

缘不易

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值