HIVE入门_3_数据导入导出

数据导出方式

导出到本地文件系统

hive> insert overwrite local directory '/home/wyp/wyp'
    > row format delimited
    > fields terminated by '\t'
    > select * from wyp;

hive -e "select * from wyp" >> local/wyp.txt

cat wyp.sql
#select * from wyp
hive -f wyp.sql >> local/wyp2.txt

导出到HDFS上

hive> insert overwrite directory '/home/wyp/hdfs'
    > select * from wyp;

导出到HIVE的另一个表中

hive> insert into table test
    > partition (age='25')
    > select id, name, tel
    > from wyp;

数据导入方式

从本地文件导入

hive> create table wyp
    > (id int, name string,
    > age int, tel string)
    > ROW FORMAT DELIMITED
    > FIELDS TERMINATED BY '\t'
    > STORED AS TEXTFILE;

cat wyp.txt
#1       wyp     25      13188888888888
#2       test    30      13888888888888

load data local inpath 'wyp.txt' into table wyp;

dfs -ls /user/hive/warehouse/wyp ;

从HDFS上导入

从本地文件系统将数据导入到HIVE表的过程中,其实是现将数据临时复制到HDFS下面的一个目录,然后再将数据从临时目录下移动到对应HIVE表的数据目录中。 因此,HIVE也支持将数据直接从HDFS上的一个目录移动到相应HIVE表的目录中去。

和本地文件系统导入的区别只是是否有inpath

load data inpath '/home/wyp/add.txt' into table wyp;

创建表后从别的表查询出的相应数据导入

hive> create table test(
    > id int, name string
    > ,tel string)
    > partitioned by
    > (age int)
    > ROW FORMAT DELIMITED
    > FIELDS TERMINATED BY '\t'
    > STORED AS TEXTFILE;

hive> insert into table test
    > partition (age='25')
    > select id, name, tel
    > from wyp;

##动态指明分区
hive> set hive.exec.dynamic.partition.mode=nonstrict;
hive> insert into table test
    > partition (age)
    > select id, name,
    > tel, age
    > from wyp;

#overwrite方式重写原来的数据
hive> insert overwrite table test
    > PARTITION (age)
    > select id, name, tel, age
    > from wyp;

#多表插入,只需要扫描一遍数据生成需要的各种表
hive> from wyp
    > insert into table test
    > partition(age)
    > select id, name, tel, age
    > insert into table test3
    > select id, name
    > where age>25;

创建表的时候通过别的表查询记录插入

hive> create table test4
    > as
    > select id, name, tel
    > from wyp;

参考资料

  1. 过往记忆的blog

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏蓝天

测试mktime和localtime_r性能及优化方法

701
来自专栏蓝天

测试mktime和localtime_r性能及优化方法

802
来自专栏杨建荣的学习笔记

关于primary key和unique index的奇怪问题 (58天)

今天一个dba交给我一个问题,让我帮忙查一下。说有个脚本运行的时候有错,让我看看是什么原因。 脚本的思路如下: 先drop PK,FK之类的constraint...

26412
来自专栏zcqshine's blog

MAC OSX brew 升级 mysql5.6到5.7无法启动的问题

3398
来自专栏数据和云

警惕:Oracle中删除的分区不会进入回收站(Recyclebin)

在Oracle数据库中,单个删除的分区并不会进入回收站,全表删除的分区才可能和全表一起放入回收站。这是因为单个分区删除之后,是无法通过简单的闪回加入原分区表中,...

3348
来自专栏cloudskyme

oracle修改表字段

增加字段     alter   table   docdsp     add   dspcode   char(200)     删除字段     AL...

34810
来自专栏大数据学习笔记

SQL语句中出现中文字符时JDBC报错,解决办法

(1)当SQL中出现汉字时,直接执行SQL命令,可以得到正确结果 ? (2)当使用JDBC查询时,报错 严重: Servlet.service() for se...

1855
来自专栏杨建荣的学习笔记

通过shell解析dump生成parfile(r2笔记76天)

当我们得到一个dump文件的时候,总是有些不太确定dump文件中是否含有一些我们原本不希望出现的表,如果在未知的情况下对dump文件进行操作时很危险的,比如我们...

2023
来自专栏Ryan Miao

H2 数据库

最近做演示项目的时候需要一个数据库,但不想安装。于是查看了embedded datasource : h2 h2: 依赖: <dependency> <...

3156
来自专栏祝威廉

使用StreamingPro 快速构建Spark SQL on CarbonData

CarbonData已经发布了1.0版本,变更还是很快的,这个版本已经移除了kettle了,使得部署和使用 变得很简单,而且支持1.6+ ,2.0+等多个Spa...

661

扫码关注云+社区