Hive 复制分区表和数据

  1. 非分区表:

    复制表结构: create table new_table as select * from exists_table where 1=0;

    复制表结构和数据: create table new_table as select * from exists_table;

  2. 分区表:

    

-- 创建一个分区表
drop table if exists kimbo_test;
create table kimbo_test
(
order_id int,
system_flag string
)
PARTITIONED BY(dt string )
ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘\001‘ LINES TERMINATED BY ‘\n‘
STORED AS TEXTFILE
;

-- 插入数据
insert overwrite table kimbo_test partition(dt=‘20170601‘)
values (186000983,‘A‘),(286000983,‘B‘) ;

insert overwrite table kimbo_test partition(dt=‘20170602‘)
values (386000983,‘F‘),(486000983,‘W‘) ;

create table test_par like kimbo_test;

-- 用 as select 复制一个新表
create table test_par2 as select * from kimbo_test where dt=‘20170601‘ limit 0;
-- 用 like 复制一个新表
create table test_par3 like kimbo_test;

-- 注意差异: as select 复制的是一个非分区表, like 复制的是一个分区表。

  表结构截图:

    

  3. 将原表的数据复制到 新表(test_par3)

    1. 创建新表: create table test_par3 like kimbo_test;

    2. 将HDFS的数据文件复制一份到新表目录,hive cmd模式下: dfs -cp -f /user/hive/warehouse/kimbo_test/* /user/hive/warehouse/test_par3/

    3. 修复分区元数据信息,hive cmd模式下: MSCK REPAIR TABLE test_par3;

  结果查询:

    

时间: 2024-10-01 22:21:30

Hive 复制分区表和数据的相关文章

通过表名和时间查看hive分区表的数据

[linux-]$  /home/script/listHive.py  ta_name_1002_user_search_log_day  20180626 #!/usr/bin/env python # -*- coding: utf-8 -*- ########################################## # 通过表名和时间查看hive分区表的数据 # len(sys.argv)--输入参数个数 # sys.argv[1] -- 表名 # sys.argv[2] -

Hive数据导入——数据存储在Hadoop分布式文件系统中,往Hive表里面导入数据只是简单的将数据移动到表所在的目录中!

转自:http://blog.csdn.net/lifuxiangcaohui/article/details/40588929 Hive是基于Hadoop分布式文件系统的,它的数据存储在Hadoop分布式文件系统中.Hive本身是没有专门的数据存储格式,也没有为数据建立索引,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,Hive就可以解析数据.所以往Hive表里面导入数据只是简单的将数据移动到表所在的目录中! Hive的几种常见的数据导入方式这里介绍四种:(1).从本地文件系统中

hive加载json数据解决方案

hive官方并不支持json格式的数据加载,默认支持csv格式文件加载,如何在不依赖外部jar包的情况下实现json数据格式解析,本编博客着重介绍此问题解决方案 首先创建元数据表: create EXTERNAL table access_log (content string) row format delimited fields terminated by '\t' STORED AS INPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInpu

重构之1.Duplicate Observed Data 复制被监视数据

场景: 如果业务层的内容被内嵌于界面层中,我们需要帮这分离出来 代码坏味道 MyFrame /** * * @author wumingkun * @version 1.0.0 * @Description */ package com.demo.refactor; import java.util.Observable; import java.util.Observer; /** * @author wumingkun * */ public class MyFrame { private

使用sqoop从mysql往hive中增量导数据shell脚本

一:sqoop增量导入的两种方式 Incremental import arguments: Argument Description --check-column (col) Specifies the column to be examined when determining which rows to import. (the column should not be of type CHAR/NCHAR/VARCHAR/VARNCHAR/ LONGVARCHAR/LONGNVARCHA

MongoDB复制集及数据分片详解

前言 MongoDB是一个由C++语言编写的基于分布式文件存储的数据库,是当前NoSQL数据库中比较热门的一种,旨在为Web应用提供可扩展的高性能数据存储解决方案.本文介绍MongoDB复制集及数据分片. MongoDB 简介 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.支持的数据结构非常松散,因此可以存储比较复杂的数据类型.最大的特点是其支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询

复制粘贴Excel数据列表到StringGrid

复制粘贴Excel数据列表到StringGrid(XE3下编写) 注意引用:Vcl.Clipbrd procedure TDataEditDrFrm.Excel1Click(Sender: TObject);varCopystrings:Tstringlist;daorustring,daorustring1,daorustring2:string;i,j,row1,row2:Integer;begin daorustring:=(Clipboard.AsText); daorustring1:

hadoop生态系统学习之路(八)hbase与hive的数据同步以及hive与impala的数据同步

在之前的博文中提到,hive的表数据是可以同步到impala中去的.一般impala是提供实时查询操作的,像比较耗时的入库操作我们可以使用hive,然后再将数据同步到impala中.另外,我们也可以在hive中创建一张表同时映射hbase中的表,实现数据同步. 下面,笔者依次进行介绍. 一.impala与hive的数据同步 首先,我们在hive命令行执行show databases;可以看到有以下几个数据库: 然后,我们在impala同样执行show databases;可以看到: 目前的数据库

不同数据库之间复制表的数据的方法

--不同数据库之间复制表的数据的方法: --当表目标表存在时: insert into 目的数据库..表 select * from 源数据库..表 --当目标表不存在时: select * into 目的数据库..表 from 源数据库..表 --如果在不同的SQL之间: insert into openrowset('sqloledb','目的服务器名';'sa';'',目的数据库.dbo.表) select * from 源数据库..表