ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

hive命令7

2019-08-20 16:35:53  阅读:279  来源: 互联网

标签:删除 transactions 分区 drop hive 命令 table


1.重命名分区
alter table ids partition (datestamp=‘2016-05-31’) rename to
partition (datestamp=‘31-05-2016’);

show partitions ids;

datestamp=2016-05-30 (修改前)
datestamp=31-05-2016 (修改后)

2.修改列–添加列
在schema-on-read架构上,有一个关键需求,就是要能够修改模式或表的元数据。
用户可以在表上定义各种类型的元数据,而且修改这些元数据时,不需要担心修改
底层数据(只对外部表)。
alter table retail.transactions add columns (loyalty_card boolean);
新列将被添加到当前列之后、分区列之前。分区列的值来自于分区定义,并不是
存放在数据文件本身之中,也不在create table命令中列的列表之中。
虽然实际上分区列并没有嵌入到数据本身之中,但是当你执行select * 语句时,分区列
总是会出现在列的列表的最后。

3.删除表
drop table 删除 hive 表时,表的元数据也会被删除
然而,hive 中的删除:我们只需要删除 受控表 中的数据
如果配置/etc/hadoop/conf/core-site.xml中的fs.trash.interval参数
那么在用drop table 删除 hive 表时,该表的数据就会被移动到/user/$USER/.trash文件夹下
drop table table_name;
如果你还想从trash中删除它,那么可以加入关键字purge
drop table table_name purge;

4.删除分区,只有当表是受控表时,hive才能删除真实的分区数据,下面2种删除方式(一样)
alter table transactions drop partition (store=‘oakdrive’);
dropped the partition store=oakdrive;
本例中,数据仍然存放在hdfs上(假设你使用了一个外部表),但是针对该事务处理表的
查询无法再读取该分区。因此查询结果集中没有含有store=oakdrive的行,因为这个表
中已经没有这个分区了

5.保护表/分区
alter table enable no_drop防止用户删除hive中的表
案例:如何在hive更改一个表,以避免它被删除
alter table transactions enable no_drop;
drop table transactions ; //这个命令会报错

案例:使某个表处于离线状态,以防止该表的数据被用户查询到,同时这并不会对另一个
访问同一底层数据的表造成影响
alter table transactions enable offline;
select * from transactions ; //这个命令会报错

案例:你可以运行2个分区层命令,按照以下方式指定分区名称
alter table table_name partition partition _spec enable offline;

6.其他create table 命令选项
(1)使用 create table as select (ctas) 命令,利用其结果集和查询输出模式来创建一个内部表
create table retail.transactions _top100
as
select * from retail.transactions where custid<101;

你可以使用这一特性来抽取某个表的子集,并且以另一种格式将该子集存放在一个新表中。
下面给出例子,实现:它为目标表指定了一种新格式
create table retail.transactions _top100 stored as orcfile
as
select * from retail.transactions where custid<101;
注意:在ctas命令中,hive对目标表的格式有一些限制。新的目标表不能是外部表、分区表或
分桶表。

(2)create table like 命令
如果向复制某个已有表的模式而不复制它的数据,可以使用这个命令
create table transactions_test like transactions;

标签:删除,transactions,分区,drop,hive,命令,table
来源: https://blog.csdn.net/big_data_study/article/details/99856928

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有