hive 分区表select全部数据_Hive中如何快速的复制一张分区表(包括数据)
关键字:Hive 复制表
Hive中有时候会遇到复制表的需求,复制表指的是复制表结构和数据。
如果是针对非分区表,那很简单,可以使用CREATE TABLE new_table AS SELECT * FROM old_table;
那么如果是分区表呢?
首先想到的办法可能是:
先创建一张和old_table结构相同的new_table,包括分区;可以使用CREATE TABLE new_table LIKE old_table;
接下来使用动态分区,把old_table的数据INSERT到new_table中。
这个方法当然可以,但可能不是最快的。
其实可以这样做:
1. CREATE TABLE new_table LIKE old_table;
2. 使用hadoop fs -cp 命令,把old_table对应的HDFS目录的文件夹全部拷贝到new_table对应的HDFS目录下;
3. 使用MSCK REPAIR TABLE new_table;修复新表的分区元数据;
看例子:
有一张分区表t1,只有两个分区,每个分区中都有一条数据,如下:
hive> show partitions t1;
OK
pt=2015-09-11
pt=2015-09-12
Time taken: 0.11 seconds, Fetched: 2 row(s)
hive> desc t1;
OK
id string
pt string
# Partition Information
# col_name data_type comment
pt string
Time taken: 0.123 seconds, Fetched: 7 row(s)
hive> select * from t1;
OK
X 2015-09-11
Y 2015-09-12
Time taken: 0.095 seconds, Fetched: 2 row(s)
hive>
创建一张相同表结构的新表t2;
hive> create table t2 like t1;
OK
Time taken: 0.162 seconds
hive> desc t2;
OK
id string
pt string
# Partition Information
# col_name data_type comment
pt string
Time taken: 0.139 seconds, Fetched: 7 row(s)
hive> show partitions t2;
OK
Time taken: 0.082 seconds
使用hadoop fs -cp命令把t1对应HDFS目录的所有文件夹复制到t2对应的HDFS目录下:
[liuxiaowen@dev ~]$ hadoop fs -cp /hivedata/warehouse/liuxiaowen.db/t1/* /hivedata/warehouse/liuxiaowen.db/t2/
[liuxiaowen@dev ~]$ hadoop fs -ls /hivedata/warehouse/liuxiaowen.db/t2/
Found 2 items
drwxr-xr-x - liuxiaowen liuxiaowen 0 2015-09-11 17:17 /hivedata/warehouse/liuxiaowen.db/t2/pt=2015-09-11
drwxr-xr-x - liuxiaowen liuxiaowen 0 2015-09-11 17:17 /hivedata/warehouse/liuxiaowen.db/t2/pt=2015-09-12
在Hive用使用MSCK REPAIR TABLE t2;修复新表t2的分区元数据;
hive> show partitions t2;
OK
Time taken: 0.082 seconds
hive> MSCK REPAIR TABLE t2;
OK
Partitions not in metastore: t2:pt=2015-09-11 t2:pt=2015-09-12
Repair: Added partition to metastore t2:pt=2015-09-11
Repair: Added partition to metastore t2:pt=2015-09-12
Time taken: 0.249 seconds, Fetched: 3 row(s)
hive> show partitions t2;
OK
pt=2015-09-11
pt=2015-09-12
Time taken: 0.068 seconds, Fetched: 2 row(s)
hive> select * from t2;
OK
X 2015-09-11
Y 2015-09-12
Time taken: 0.123 seconds, Fetched: 2 row(s)
hive>
OK,新表t2已经复制好了,它和t1有着相同的表结构,分区结构,分区以及数据。
如果觉得本博客对您有帮助,请 赞助作者 。
hive 分区表select全部数据_Hive中如何快速的复制一张分区表(包括数据)相关推荐
- 若 PPP 协议使用同步传输技术,接收端收到的数据段中出现比特串“01011111001111101”,则真正的数据应该是()
若 PPP 协议使用同步传输技术,接收端收到的数据段中出现比特 串"01011111001111101",则真正的数据应该是 (B ) A. 0101111100111111 B. ...
- 如何从海量数据中,快速采集到你想要的数据?
大数据时代,什么最重要?毋庸置疑,是数据."数据是新时代的石油和黄金"业界专家如是说.有了数据,就有了业务飞速增长的基础引擎和原料,没有数据,你将失去一切. 用户通过手机.平板.电 ...
- hive 导出json格式 文件_hive中创建hive-json格式的表及查询
在hive中对于json的数据格式,可以使用get_json_object或json_tuple先解析然后查询. 也可以直接在hive中创建json格式的表结构,这样就可以直接查询,实战如下(hive ...
- html间接收post传递的数据,HTML5中使用postMessage实现两个网页间传递数据
估计很少人知道HTML5 APIS里有一个window.postMessage API.window.postMessage的功能是允许程序员跨域在两个窗口/frames间发送数据信息.基本上,它就像 ...
- 如何在php中插入数据并修改,php怎么同时向2张表里插入数据
情况是这个样子的:我要做一个发消息的表,因为接受人可能是多个,所以又给接收人一单独的表,(这种方案好还是全部都放到一张表里好点呢?)2张表的字段如下: message_id是第一张表的主键, 如果收件 ...
- java输入多个数据_Java中怎么读入一行输入空格隔开的多个数据
展开全部 import java.util.Scanner; public class ReadData{ public static void main(String[] args) { ReadD ...
- 数据API开发如何快速上手:先了解什么是数据API生命周期管理
任何事务都有一个生命周期,数据API也不例外.上一段视频,我们解释了什么是数据API?.这段视频,我们来了解一下数据API的生命周期管理. 我们把每个数据API生命周期,划分为API规划.API开发. ...
- java实现两张表的数据同步,java实现mysql数据库从一张表插入数据到另一张表
包 cn.gtmc.schedule.app; 导入 cn.gtmc.schedule.domain.Employee; import java.sql. * ; 导入 java.util.Array ...
- 数据表的级联删除(删除一张表里的数据,会把另一张表里的数据)
// ON DELETE CASCADE 级联删除 //表user create table user( id int not null primary key, name varchar(2 ...
最新文章
- xubuntu18.04安装Google拼音输入法
- 使用Process.Start打开文件夹或网页
- notepad python配置_Notepad++怎么配置python?
- 全球顶级语音技术比赛中获双料冠军,这家中国公司靠什么?
- linux 天堂测试软件,[Ubuntu] HTTP Live Streaming 安装测试
- 高精度减法(C++实现)
- 服务器导出服务器时间转换浏览器端时区
- Qt Creator和VS2010中添加槽信号_差异与详解
- python 对输入的单词进行字典排序_Python-对字典进行排序
- Laravel测试驱动开发--反向单元测试
- 拔染印花几点注意事项
- 原生js--类、原型、构造函数
- python实操案例_python实战案例分享 - 讲师
- sql sever2005中实现“级联删除”
- c语言课程设计类层次图,C语言课程设计————写下流程图! 谢谢
- C语言cat函数的功能,R语言cat()函数
- 计算机专业普通的期刊,计算机类的普通期刊
- 愚人节就是要搞怪!微信公众号图文应该这样排版!
- swagger的基本使用
- 【matlab实现股票量化分析收盘价曲线作图-附源码】