hive只复制表结构不复制表数据
目录
一、背景
二、准备测试数据
1.建表
2.造测试数据
三、操作
1.CTAS
(1).无分区表测试
(2).分区表测试
2.LIKE
(1).无分区表测试
(2).分区表测试
一、背景
有一张ori_table,想新建一张表new_table,保持跟ori_table一样的表结构,但是不复制ori_table的数据。
二、准备测试数据
1.建表
create table ori_table (
id bigint,
col1 string,
col2 double
)comment '无分区原始表'
stored as orc;create table ori_table_partition (
id bigint,
col1 string,
col2 double
)comment '有分区原始表'
partitioned by (dt string)
stored as orc;
2.造测试数据
insert into ori_table values (1,'哈哈',10.02);
insert into ori_table values (2,'嘿嘿',20.06);
insert into ori_table values (3,'嘻嘻',30.08);insert into ori_table_partition partition(dt='1') values (1,'哈哈',10.02);
insert into ori_table_partition partition(dt='2') values (2,'嘿嘿',20.06);
insert into ori_table_partition partition(dt='3') values (3,'嘻嘻',30.08);
三、操作
有2种办法
1.CTAS
(1).无分区表测试
--复制与ori_table表结构及表数据都一致的语句create table new_table as select * from ori_table;--只复制与ori_table表结构的语句
create table new_table as select * from ori_table where 1=0;
show create table new_table; --执行看一下效果
select * from new_table; --执行看一下数据量
由此得出结论,无分区表使用该语句可以满足需求!
(2).分区表测试
--复制与ori_table_partition表结构及表数据都一致的语句create table new_table_partition as select * from ori_table_partition;--只复制与ori_table表结构的语句
create table new_table_partition as select * from ori_table_partition where 1=0;
show create table new_table_partition; --执行看一下效果
这里看到表结构还是有些差异的,执行后将分区表建成了无分区表,分区字段创建成了普通字段。
select * from new_table_partition; --执行看一下数据量
结论:
CTAS语法不适用于分区表
2.LIKE
(1).无分区表测试
--只复制与ori_table表结构的语句
create table new_table_like like ori_table;
show create table new_table_like; --执行看一下效果
select * from new_table_like; --执行看一下数据量
(2).分区表测试
--只复制与ori_table_partition表结构的语句
create table new_table_partition_like like ori_table_partition;
show create table new_table_partition_like; --执行看一下效果
select * from new_table_partition_like; --执行看一下数据量
结论:
LIKE语法适用于分区表及无分区表
hive只复制表结构不复制表数据相关推荐
- Sql Server 数据库,只复制表结构不复制表数据如何操作?
Sql Server 数据库,只复制表结构不复制表数据如何操作? 1.选中要复制的数据库 2.右键 3.任务 4.生成脚本 5.弹出生成数据库对象的脚本窗口,点下一步 6.选择要编写脚本的数据库对象, ...
- Oracle中备份某个表及表数据及其只复制表结构,不复制数据
一.备份表及其表数据: create table sec_role_20181120 as select * from sec_role; 二.只复制表结构,不复制数据: create talbe s ...
- sql复制表结构及内容
平常写SQL语句,会经常用到如此: 1.既复制表结构也复制表内容的SQL语句:CREATE TABLE tab_new AS SELECT * FROM tab_old; 2.只复制表结构不复制表内容 ...
- 复制表、复制表结构、复制数据
完全复制表(含表结构+表数据) create table 新表名 as select * from 需要复制的表名; 复制表部分字段和数据 CREATE TABLE 新表名(列1,列2 ...
- Oracle 复制表结构带索引,oracle复制表的sql语句
oracle复制表的sql语句 如下,表a是数据库中已经存在的表,b是准备根据表a进行复制创建的表: 1.只复制表结构的sql create table b as select * from a wh ...
- oracle复制表包括注释,oracle 快速复制表结构、表数据
oracle 快速复制一张表,并在此创建索引,日志及并行度 复制表结构及其数据 create table table_name_new as select * from table_name_old ...
- oracle复制表数据,复制表结构
在oracle中复制表结构和表数据: 1.复制表结构及数据: create table new_table as select * from old_table 2.只复制表结构: create ta ...
- mysql 复制表结构到一个新表_MySQL复制表数据或表结构到新表中
MySQL复制表数据到新表的几个步骤. 1.MySQL复制表结构及数据到新表 CREATE TABLE new_table SELECT * FROM old_table; 2.只复制 MySQL复制 ...
- Oracle复制表结构和表数据
复制表结构及其数据 create table table_name_new as select * from table_name_old 只复制表结构 create table table_name ...
最新文章
- spring boot入门:@SpringBootApplication
- JavaScript学习总结(十六)——Javascript闭包(Closure)
- 基于i.MX RT1060的可编程视觉模块
- python开源报表系统_流程设计器、表单设计器和简单报表管理开源OA系统smart-web...
- JavaWeb(十一)——登录注册小案例
- LiveVideoStackCon 2022 上海站 专题抢先看
- 三、PHP基础——HTTP协议 文件编程
- php 文件保存函数,php 写入和读取文件函数
- 从outside对ASA防火墙身后ACS4.x进行管理测试
- Python os.walk() 方法--输出在目录中的文件名
- IOS代理的设计模式
- python经典算法--------冒泡排序
- 去除字符串中的html标记
- CSDN审核机制有点迷惑,决定逐步搬迁到简书
- JDBCAPI简介(二)
- POJ2255 Tree Recovery 前序 中序求后序
- Win 7 64位系统安装32位AutoCAD 2012方法
- 电工电子技术计算机用学吗,电工电子技术第4版学习指导与习题解答(电子电气基础课程规划教材)...
- High-Sierra,MacOS10.13,增加IntelHD3000显存的方法
- 基于单片机原理的暖风机控制系统设计-毕设课设资料
热门文章
- Android 备忘录模式
- ATM制造商Diebold推自助结帐系统,助力消费者NFC结账
- 数据结构——树 (知识点思维导图)
- 域名故事:史上超贵的域名成交记录
- [vue] 11. pixiJS整合vue初体验
- 在安装了Sql2000的基础上安装Sql2005的详细过程
- 如何用计算机制作探测器,如何自制金属探测仪? 我有计算机和收音机 可弄了半天不行 可能是频道调不对 请高手们告诉我 该怎么做?...
- 基于Docker的Hadoop完全分布式安装
- 基于深度学习的CVaaS计算机视觉即服务案例(Computer Vision as a Service)
- 大数据的变革:保险行业数据价值赋能