hive常见的表操作

  • 创建外部分区表

    create external TABLE emp(id int,name string) partitioned by(month string) row format delimited fields terminated by ' ' stored as textfile;
  • 修改表

    • 修改表名

      ALTER TABLE emp rename to [employee];
    • 新增分区并指定数据位置

      ALTER TABLE emp add partition(month='9') location '/data/hive/emp/month=9/';
    • 删除分区: ALTER TABLE emp drop partition(month='9');如果是外部表,使用msck repair TABLE empty;可以恢复分区信息

    • 修改分区表指定分区的数据来源

      ALTER TABLE emp partition(month='10') set location '/data/hive/emp/month=10/emp10';
    • 修改列信息

      ALTER TABLE emp CHANGE COLUMN name mingzi STRING;
    • 增加列信息

      ALTER TABLE temp add COLUMNS (xing STRING COMMENT 'gender',salary double);
    • 修改存储格式

      ALTER TABLE employee partition(month='12') set FILEFORMAT sequencefile;
  • 删除表

    drop TABLE fjs; 如果表名不存在不报错 如果是外部表,则只会删除表的元信息,hdfs上的数据不会删除

  • 快速复制一个分区表

    原分区表:emp 1. create TABLE [employee] like emp; 2. dfs -cp /user/hive/warehouse/school.db/emp/* /user/hive/warehouse/school.db/employee/; 3. msck repair TABLE [employee] ; 4. show partitions [employee] ;
标签: emp、month、alter、employee、分区表、面试
  • 回复
隐藏