Hive学习笔记:插入数据

日常从临时表复制数据到正式表可通过:

create table table_name_new as
select * from table_name;

但这样子原表的信息,分区等无法直接复制,需要通过额外的方式进行构建表、插入数据。

具体参考如下。

一、全量复制

drop table table_name_new;
create table if not exists table_name_new like table_name;
use data_base_name;
set hive.vectorized.execution.enabled = false;
insert overwrite table table_name_new
select * from table_name;

二、分区插入数据

-- 1.建表 4个字段
create table database_name.table_name
(
    a string,
    b string,
    c bigint
)
partitioned by (update_date int) 
row format delimited fields terminated by "\t";

-- 2.插入数据
use database_name;
set hive.exec.dynamic.partition.mode=nonstrict;
insert overwrite table table_name
partition(update_date)
select a,
       b,
       c,
       update_date
from table_name_old;
posted @ 2023-03-20 16:24  Hider1214  阅读(216)  评论(0编辑  收藏  举报