zoukankan      html  css  js  c++  java
  • hive表管理-及-分区管理

    管理表与外部表转换

    ALTER TABLE dwd.t_aa SET TBLPROPERTIES ("EXTERNAL"="TRUE") ;

    1、删除多个分区

    alter table dm_goddog_tianjin.t_stg_rt_operation_waybill_v1_bk 
    drop if exists
    partition(inc_day='2020080311', src_company_code='zyh'),
    partition(inc_day='2020080311', src_company_code='zto');

    指定目录位置

    alter table siebel_member
    
    drop if exists
    
    partition(pt='20180401') location '/user/hive/warehouse/20180401',
    
    partition(pt='20180402') location '/user/hive/warehouse/20180402',
    
    partition(pt='20180403') location '/user/hive/warehouse/20180403',
    
    partition(pt='20180404') location '/user/hive/warehouse/20180404';

    添加分区:

    ALTER TABLE table_name ADD PARTITION (partCol = 'value1') location 'loc1'; //示例
    
    ALTER TABLE table_name ADD IF NOT EXISTS PARTITION (dt='20130101') LOCATION '/user/hadoop/warehouse/table_name/dt=20130101'; //一次添加一个分区
    
    ALTER TABLE page_view ADD PARTITION (dt='2008-08-08', country='us') location '/path/to/us/part080808' PARTITION (dt='2008-08-09', country='us') location '/path/to/us/part080809';  //一次添加多个分区

    修改分区: 

    ALTER TABLE table_name PARTITION (dt='2008-08-08') SET LOCATION "new location";
    
    ALTER TABLE table_name PARTITION (dt='2008-08-08') RENAME TO PARTITION (dt='20080808');

    添加列: 

    ALTER TABLE table_name ADD COLUMNS (col_name STRING);  //在所有存在的列后面,但是在分区列之前添加一列

    修改列: 

    CREATE TABLE test_change (a int, b int, c int);
    
    // will change column a's name to a1
    ALTER TABLE test_change CHANGE a a1 INT; 
    
    // will change column a's name to a1, a's data type to string, and put it after column b. The new table's structure is: b int, a1 string, c int
    ALTER TABLE test_change CHANGE a a1 STRING AFTER b; 
    
    // will change column b's name to b1, and put it as the first column. The new table's structure is: b1 int, a string, c int
    ALTER TABLE test_change CHANGE b b1 INT FIRST; 
    修改表属性: 
    alter table table_name set TBLPROPERTIES ('EXTERNAL'='TRUE');  //内部表转外部表 
    alter table table_name set TBLPROPERTIES ('EXTERNAL'='FALSE');  //外部表转内部表

    表的重命名:

    ALTER TABLE table_name RENAME TO new_table_name
    
    
    
  • 相关阅读:
    进程(WINAPI),遍历并查找树状的进程信息,实现控制系统进程
    HDU 4786 Fibonacci Tree(生成树,YY乱搞)
    Linux信号通讯编程
    HDU 3635 Dragon Balls(带权并查集)
    还原数据库出现“未获得排他訪问”解决方法(杀死数据库连接的存储过程sqlserver)
    java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称而且未指定默认驱动程序解决方法
    【C++基础 02】深拷贝和浅拷贝
    内核链接的简单使用
    I2C测试【转】
    [RK3288]PMU配置(RK808)【转】
  • 原文地址:https://www.cnblogs.com/LIAOBO/p/13793476.html
Copyright © 2011-2022 走看看