hive查数常用模板

设为非严格模式并关闭分区检查

-- 非严格模式
set hive.mapred.mode=nonstrict
-- 关闭分区检查
set hive.strict.checks.no.partition.filter = false

启用动态分区

set hive.exec.dynamic.partition=true;

修改字段

ALTER TABLE hll_ods.表名 CHANGE
字段名  字段名 类型
CASCADE; 

新增字段

ALTER TABLE hll_ods.db_ltl__zs_driver_orders_tm ADD COLUMNS(
     字段名   类型  COMMENT '注释',
) CASCADE;

删除表

-- 查看分区
show partitions hll_ods.表名
-- 依次删除分区
alter table hll_ods.表名 drop partition(dt = '分区名')
-- 修改为内部表
ALTER TABLE hll_ods.表名 SET TBLPROPERTIES('EXTERNAL'='False');
-- 删除表
drop table hll_ods.表名

表重命名

alter table hll_ods.旧表名 rename to hll_ods.新表名

表备份

-- 复制分区表结构
create table hll_temp.备份表名 like hll_ods.源表名
-- 修改为外部表
ALTER TABLE hll_temp.备份表名 SET TBLPROPERTIES('EXTERNAL'='TRUE');
-- 装载数据并动态分区
insert overwrite table hll_temp.备份表名 partition(dt)
select * from hll_ods.源表名
-- 查看分区
show partitions hll_temp.备份表名
-- 校验数据量
select count(*) from hll_temp.备份表名
union all
select count(*) from hll_ods.源表名

你可能感兴趣的:(hive查数常用模板)