0x01:重命名表

1 ALTER TABLE table_name RENAME TO new_table_name;

上面这个命令可以重命名表,数据所在的位置和分区都没有改变。

0x02:改变列名/类型/位置/注释

1 ALTER TABLE table_name CHANGE
2 [CLOUMN] col_old_name col_new_name column_type
3 [CONMMENT col_conmment]
4 [FIRST|AFTER column_name];

这个命令可以修改表的列名,数据类型,列注释和列所在的位置,FIRST将列放在第一列,AFTER col_name将列放在col_name后面一列,例如:

1 ALTER TABLE test_table CHANGE col1 col2 STRING
2 COMMENT 'The datatype of col2 is STRING'
3 AFTER col3;

上面的语句将列名col2修改为col2,数据类型为STRING并添加注释,最后将这一列放在col3后面。

0x03:增加/更新列

1 ALTER TABLE table_name ADD|REPLACE COLUMNS (col_name data_type [CONMMENT col_comment], ...);

ADD COLUMNS允许用户在当前列的末尾,分区列之前添加新的列,REPLACE COLUMNS允许用户更新列,更新的过程是先删除当前的列,然后在加入新的列。注:只有在使用native的SerDE时才可以这么做。

0x04:增加表的属性

1 ALTER TABLE table_name SET TBLPEOPERTIES table_properties;

用户可以使用这个语句增加表属性,table_properties的结构为(property_name=property_value,property_name=property_value, ...),目前last_modified_time(最后修改时间),last_modified_user(做最后修改的用户)是由Hive自动管理的。用户可以向列中添加自己的属性,然后使用DISCRIBE EXTEBDED TABLE来获取这些信息。

0x05:增加SerDE属性

1 ALTER TABLE table_name SET SERDE serde_class_name
2 [WHIT SERDEPROPERTIES serde_properties];
1 ALTER TABLE table_name SET SERDEPROPERTIES serde_properties;

上面两个命令都允许用户想SerDE对象增加用户定义的元数据。Hive为了序列化和反序列化数据,将会初始化SerDE属性,并将属性传给表的SerDE。这样用户可以为自定义的SerDe存储属性。上面serde_properties的结构为(property_name=property_value,property_name=property_value, ...)。

0x06:修改表文件格式和组织

1 ALTER TABLE table_name SET FILEFORMAT file_format;
1 ALTER TABLE table_name CLUSTERED BY (col_name, col_name, ...)
2 [SORTED By (col_name, ...)] INTO num_buckets BUCKETS;

上面两个命令都修改了表的物理属性。

Hive修改表语句的更多相关文章

  1. hive修改 表/分区语句

    参考 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AlterTable% ...

  2. Hive修改表

    Alter Table 语句 它是在Hive中用来修改的表. 语法 声明接受任意属性,我们希望在一个表中修改以下语法. ALTER TABLE name RENAME TO new_name ALTE ...

  3. Hive 修改表结构常用操作

    添加列  add columns alter table table_name add columns (id int comment '主键ID' ) ; 默认在表所有字段之后,分区字段之前. 替换 ...

  4. Oracle 自动生成hive建表语句

    从 oracle 数据库导数到到 hive 大数据平台,需要按照大数据平台的数据规范,重新生成建表的 SQL 语句,方便其间,写了一个自动生成SQL的存储过程. ① 创建一张表,用来存储源表的结构,以 ...

  5. 利用MySQL原数据信息批量转换指定库数据表生成Hive建表语句

    1.写出文件工具类 package ccc.utile; import java.io.*; /** * @author ccc * @version 1.0.0 * @ClassName Write ...

  6. hive查看建表语句

    查看hive建表语句:show create table tablename; 查看hive表结构:describe  tablename; 简写:desc tablename;

  7. Hive分区表新增字段及修改表名,列名,列注释,表注释,增加列,调整列顺序,属性名等操作

    一.Hive分区表新增字段 参考博客:https://blog.csdn.net/yeweiouyang/article/details/44851459 二.Hive修改表名,列名,列注释,表注释, ...

  8. 深度分析DB2修改表

    DB2修改表操作相信大家都不陌生,下文对DB2修改表方面结合了一些例子进行了详细的分析讨论,供您参考学习. DB2修改表使用ALTER TABLE语句来更改列属性,例如可空性.LOB选项.作用域.约束 ...

  9. 获取impala下所有的数据库建表语句

    方法一: 现在的导出还是有缺陷的,导出的文件中还是存在其他不必要的信息 #!/bin/bash ##获取数据库 databases=$(hive -e "show databases; ex ...

随机推荐

  1. ArcSOC进程数不断增长导致oracle processes溢出原因分析

    现场出现了一个问题,oracle运行一段时间之后,process个数会溢出,然后新的连接会失败.通过分析,发现Arcgis Server 的ArcSOC进程在不段增长.ArcSOC是arcgis se ...

  2. fio压测

    目录 fio工具介绍 参数介绍 测试举例 模板如下: 四路服务器测试的小tips fio工具介绍 用于测试存储设备IO性能. 当存储设备中存在用户数据时,严谨使用fio进行写操作!!! 参数介绍 rw ...

  3. Background Suppression Network for Weakly-supervised Temporal Action Localization [Paper Reading]

    研究内容:弱监督时域动作定位 结果:Thumos14 mAP0.5 = 27.0 ActivityNet1.3 mAP0.5 = 34.5 从结果可以看出弱监督这种瞎猜的方式可以PK掉早些时候的一些全 ...

  4. Java学习:面向对象的三大特征:封装性、继承性、多态性之继承性

    面向对象的三大特征:封装性.继承性.多态性. 继承 继承是多态的前提 ,如果没有继承,就没有多态. 继承主要解决的问题就是:共性抽取. 继承关系当中的特点: 子类可以拥有父类的“内容” 子类还可以拥有 ...

  5. sqlserver读取日志以及复制

    首选,在事务日志中,到底有多少是需要复制的?使用以下命令,可以确定事务日志中被标志为复制的命令有多少. USE test GO SELECT count(*) FROM ::fn_dblog(NULL ...

  6. Linux学习笔记之iptables学习笔记

    iptables系列学习推荐: http://www.zsythink.net/archives/category/%e8%bf%90%e7%bb%b4%e7%9b%b8%e5%85%b3/iptab ...

  7. FineReport连接SSAS多维数据库

    1.服务器——定义数据连接,如下图: 2.配置SSAS服务器地址及登录名密码: 注意这里的用户名.密码是指的服务器的登录名和登录密码,也就是你远程桌面的登录用户名和密码,不是数据库的登录用户名密码. ...

  8. 利用Beef劫持客户端浏览器

    利用Beef劫持客户端浏览器   环境: 1.Kali(使用beef生成恶意代码,IP:192.168.114.140) 2.一台web服务器(留言板存在XSS跨站脚本漏洞,IP:192.168.11 ...

  9. DataPipeline丨构建实时数据集成平台时,在技术选型上的考量点

    文 | 陈肃 DataPipeline  CTO 随着企业应用复杂性的上升和微服务架构的流行,数据正变得越来越以应用为中心. 服务之间仅在必要时以接口或者消息队列方式进行数据交互,从而避免了构建单一数 ...

  10. Shell 冒泡排序

    举例 #!/bin/bash echo "please input a number list:" read -a arrs for((i=0;i<${#arrs[@]};i ...