Hive常用操作汇总

Hive常用操作汇总

表操作

ALTER TABLE name RENAME TO new_name;
--例:将orders表修改为flt_orders
ALTER TBALE olap_engdb.orders RENAME TO olap_engdb.flt_orders;

数据存储位置发生改变,分区名未改变

列操作

修改列

ALTER TABLE name CHANGE col_old_name col_new_name column_type COMMENT 'comment' FIRST|AFTER column_name;
--例:将orders表中的citycode列修改为dcitycode
ALTER TABLE olap_engdb.orders CHANGE citycode dcitycode STRING COMMENT '出发城市三字码' FIRST;

First将列放在第一列,AFTER指定排在某列后面;

列位置更换后数据位置并未发生变化,若要让数据跟着字段一起移动,需更新表数据。

新增列

ALTER TABLE name ADD COLUMES (col_name data_type COMMENT 'comment',......);
--例:在orders表中新增acitycode列
ALTER TABLE olap_engdb.orders ADD COLUMNS (acitycode STRING COMMENT '到达城市三字码');

新增列位于当前列的末尾,分区列之前

替换列/删除列

ALTER TABLE name REPLACE COLUMNS (col_name data_type COMMENT '',...);
--例:删除orders表中其他列,仅保留orderdate字段
ALTER TABLE olap_engdb.orders REPLACE COLUMNS (orderdate string);

REPLACE COLUMNS先删除现存列,然后再增加新列;

注:替换列只能在表使用自带SerDE时使用( DynamicSerDe,MetadataTypedColumnsetSerDe... )

分区操作

新增分区

ALTER TABLE name ADD IF NOT EXISTS PARTITION (PARTITION_SPEC);
--例:在orders表中新增时间分区
ALTER TABLE olap_engdb.orders ADD PARTITION (d = '2019-10-28');

只有在存在分区列的表上执行增加分区的操作,才会成功

重命名分区

ALTER TABLE name PARTITION (PARTITION_SPEC) RENAME TO PARTITION (PARTITION_SPEC);
--例:orders表中2019-10-28的分区修改为2019-10-27的分区
ALTER TABLE olap_engdb.orders PARTITION (d = '2019-10-28') RENAME TO PARTITION (d = '2019-10-27');

删除分区

ALTER TABLE name DROP IF EXISTS PARTITION (PARTITION_SPEC);
--例:删除orders表中2019-10-27的分区
ALTER TABLE olap_engdb.orders DROP IF EXISTS PARTITION (d = '2019-10-27');

交换分区

ALTER TABLE name1 EXCHANGE PARTITION (PARTITION_SPEC) WITH TABLE name2;
--例:将orders表中2019-10-26分区的数据移到临时表
ALTER TABLE olap_engdb.orders EXCHANGE (d = '2019-10-26') WITH tmp_engdb.orders
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 时间:2017-08-16 19:36:53来源:CSDN Hive 是基于Hadoop 构建的一套数据仓库分析系...
    majyer阅读 5,321评论 0 2
  • Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分...
    三万_chenbing阅读 14,167评论 0 10
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 10,855评论 0 9
  • 安装 元素数据存储选择 默认使用derby数据库,不能够多个用户同时使用,多用于测试使用MySQL数据库存储元数据...
    BlackChen阅读 3,153评论 0 1
  • 刚进家里,看到这熟悉有陌生的一切,自己变得惶恐,我是活在记忆里的人,始终无法摆脱过去,看到玲子送我的拖鞋,被老爸穿...
    云游大师阅读 1,865评论 0 0