hive的常用命令

hive的常用命令:

一、hive 管理表(内部表)与外部表的互相转换

1.修改外部表emp为内部表(emp为表名)

alter table emp set tblproperties ('EXTERNAL'='FALSE');

2.修改内部表emp为外部表

alter table emp set tblproperties ('EXTERNAL'='TRUE');

注意:(‘EXTERNAL’=‘TRUE’)和(‘EXTERNAL’=‘FALSE’)为固定写法,区分大小写!

二、hive的分区操作

1、删除分区

ALTER TABLE table_name DROP IF EXISTS PARTITION (dt=2008-08-08’);
ALTER TABLE table_name DROP IF EXISTS PARTITION (dt=2008-08-08’, country=’us’);

2、修改分区

ALTER TABLE table_name PARTITION (dt=2008-08-08’) SET LOCATION “newlocation”;
ALTER TABLE table_name PARTITION (dt=2008-08-08’) RENAME TO PARTITION (dt=20080808’);

3、增加分区

alter table table_name if not exists add partition (p_hour='', p_city='', p_loctype='MHA');

三、表级别修改

1、添加列:

ALTER TABLE table_name ADD COLUMNS (col_name STRING);

注:在所有存在的列后面,但是在分区列之前添加一列

2、修改字段:

CREATE TABLE table_name (a int, b int, c int);
ALTER TABLE table_name CHANGE a a1 INT; --将 a 列的名字改为 a1.
ALTER TABLE table_name CHANGE c c1 INT FIRST;--然后将c列的名称改为c1,并将其作为第一列:
// 此时新表的结构是: 
 c1 int, b int, a int.

3、删除列示例:

原有Hive表table_name中有a,b,c,d,e这几个字段
   将从test_change中删除“d”列:
     ALTER TABLE table_name REPLACE COLUMNS (a int, b int,c string,e string);
   将d和e两列一起删除:
      ALTER TABLE table_name REPLACE COLUMNS (a int, b int,c string);
注:只有内部表管用,外部表会报错可能和版本有关

4、表重命名

ALTER TABLE table_name RENAME TO new_table_name

四、hive修改表路径

1、内部表:

​ a.设置新路径

alter table table_name set location 'hdfs://cluster/hive/warehouse/test.db/table_name2

​ b.移动文件地址

dfs -mv /hive/warehouse/test.db/table_name /hive/warehouse/test.db/table_name2
2、外部表
  1. 删除旧表

    drop table table_name;
    
  2. 移动文件到新位置

    dfs -mv /hive/warehouse/test.db/table_name /hive/warehouse/test.db/table_name2
    
  3. 新建新表, 并且指定路径为新地址

    create EXTERNAL table table2 (....) location '/hive/warehouse/test.db/table_name2'
    
  4. 恢复元数据

    MSCK REPAIR TABLE table2;
    
posted @   lx991818  阅读(189)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示