分享

Hadoop Hive sql语法详解2-修改表结构

阿飞 2014-4-11 22:04:48 发表于 连载型 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 9 114615
本帖最后由 pig2 于 2014-4-11 23:21 编辑
hive同样也面对传统数据库的一些操作,那么hive
1.如何增加分区、删除分区?
2.如何重命名表?
3.如何修改列的名字、类型、位置、注释?
4.如何增加/更新列?
5.如何增加表的元数据信息?


表添加一列 :
  1. hive> ALTER TABLE pokes ADD COLUMNS (new_col INT);
复制代码

添加一列并增加列字段注释
  1. hive> ALTER TABLE invites ADD COLUMNS (new_col2 INT COMMENT 'a comment');
复制代码





更改表名:
  1. hive> ALTER TABLE events RENAME TO 3koobecaf;
复制代码

删除列:hive> DROP TABLE pokes;




增加、删除分区


•增加
  1. ALTER TABLE table_name ADD [IF NOT EXISTS] partition_spec [ LOCATION 'location1' ] partition_spec [ LOCATION 'location2' ] ...
  2.       partition_spec:
  3.   : PARTITION (partition_col = partition_col_value, partition_col = partiton_col_value, ...)
复制代码

•删除
  1. ALTER TABLE table_name DROP partition_spec, partition_spec,...
复制代码

重命名表•
  1. ALTER TABLE table_name RENAME TO new_table_name
复制代码



修改列的名字、类型、位置、注释:
  1. ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name]
复制代码

•这个命令可以允许改变列名、数据类型、注释、列位置或者它们的任意组合


表添加一列 :
  1. hive> ALTER TABLE pokes ADD COLUMNS (new_col INT);
复制代码

添加一列并增加列字段注释
  1. hive> ALTER TABLE invites ADD COLUMNS (new_col2 INT COMMENT 'a comment');
复制代码

增加/更新列
  1. ALTER TABLE table_name ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...)  
复制代码

• ADD是代表新增一字段,字段位置在所有列后面(partition列前)
     REPLACE则是表示替换表中所有字段。


增加表的元数据信息
  1. ALTER TABLE table_name SET TBLPROPERTIES table_properties table_properties:
  2.          :[property_name = property_value…..]
复制代码
•用户可以用这个命令向表中增加metadata


改变表文件格式与组织•


  1. ALTER TABLE table_name SET FILEFORMAT file_format
  2. ALTER TABLE table_name CLUSTERED BY(userid) SORTED BY(viewTime) INTO num_buckets BUCKETS
复制代码
这个命令修改了表的物理存储属性


创建/删除视图

  1. CREATE VIEW [IF NOT EXISTS] view_name [ (column_name [COMMENT column_comment], ...) ][COMMENT view_comment][TBLPROPERTIES (property_name = property_value, ...)] AS SELECT
复制代码


•增加视图

•如果没有提供表名,视图列的名字将由定义的SELECT表达式自动生成
•如果修改基本表的属性,视图中不会体现,无效查询将会失败
•视图是只读的,不能用LOAD/INSERT/ALTER
•DROP VIEW view_name
•删除视图


创建数据库
  1. CREATE DATABASE name
复制代码


显示命令
  1. show tables;
  2. show databases;
  3. show partitions ;
  4. show functions
  5. describe extended table_name dot col_name
复制代码
下一篇:
Hadoop Hive sql语法详解3--DML 操作:元数据存储

上一篇:Hadoop Hive sql语法详解1-认识hive及DDL操作




已有(9)人评论

跳转到指定楼层
feng01301218 发表于 2015-3-8 14:20:09
系统学习下
系统学习下
回复

使用道具 举报

tang 发表于 2015-3-12 14:53:34
回复

使用道具 举报

tang 发表于 2015-5-13 21:23:22
回复

使用道具 举报

ableq 发表于 2015-11-3 17:41:59
添加、删除分区有什么例子么?
ALTER TABLE table_name DROP partition_spec, partition_spec,...
--partition_spec这个是什么东西?
回复

使用道具 举报

ableq 发表于 2015-11-3 17:42:58
没有这个命令
show partitions ;
回复

使用道具 举报

非卡不尔 发表于 2015-11-9 14:55:43
ableq 发表于 2015-11-3 17:42
没有这个命令
show partitions ;

show partitions table_name ;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条