Hive中数据导入或导出

1.将数据导入hive

首先创建hive表,SQL如下:

CREATE TABLE test(
name string,
age int,
address string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE;
1.1 从本地导入

linux 中有hive_test.txt 文件,数据格式如下:

zhangsan1,12,aaa1
zhangsan2,13,aaa2
zhangsan3,14,aaa3
zhangsan4,15,aaa4
zhangsan5,16,aaa5

导入命令如下:

load data local inpath '/data/hive_test.txt' into table test;

效果如下图所示:
这里写图片描述

1.2 从hdfs上导入数据

首先上传本地文件到hdfs中

hdfs dfs -mkdir /recommend/hive
hadoop fs -put hive_test.txt /recommend/hive

效果如图所示:
这里写图片描述
导入命令如下:

load data inpath '/recommend/hive/hive_test.txt' into table test;

tips:注意此方式会把hdfs上的文件直接移动到 "hdfs://dcnode1:8020/user/hive/warehouse/xxx.db/test/"目录下
这里写图片描述

1.3 load data 时使用 overwrite 方式

本地文件导入命令如下:

load data local inpath '/data/hive_test.txt' overwrite into table test;

hdfs文件导入命令如下:

load data inpath '/recommend/hive/hive_test.txt' overwrite into table test;
1.4 子查询方式
create  table test_2 as select * from test;

这里写图片描述

1.5 insert into,和上面类似
insert into table test_2  select * from test;

这里写图片描述

1.6 location

适合创建外部表关联hdfs上的数据。文件在hdfs上路径:/recommend/hive/hive_test.txt

1.6.1 创建外部表时,直接指定location:
CREATE EXTERNAL  TABLE `test`(
`name` string,
`age`  int,
`address`  string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE LOCATION '/recommend/hive/';  

这里写图片描述

1.6.2 先创建表,然后修改location:
CREATE EXTERNAL  TABLE `test`(
`name` string,
`age`  int,
`address`  string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE;
alter table test set location '/recommend/hive/';

这里写图片描述

2. 将数据从hive里导出
2.1 保存到本地
insert overwrite local directory '/data/hive_test_copy' select * from test;

这里写图片描述在linux上查看导出文件:
这里写图片描述
可以看出没有分隔符,显然不是我们想要的效果。改进如下:

insert overwrite local directory '/data/hive_test_copy' row format delimited  fields terminated by ',' select * from test;

这里写图片描述
在linux上查看导出文件,完全按照我们设置的格式导出,Wow!!:
这里写图片描述

2.2 保存到HDFS上
insert overwrite directory '/recommend/hive'  row format delimited  fields terminated by ',' select * from test;

++++++++++++++++++++分割线++++++++++++++++++++++++++
没事自己搞了一个特价优惠券网站,反正自己也要上淘宝天猫买东西,不如一起买买买,大家觉得划算就下手,不需要就看看。
淘宝天猫领券地址:贝优网 http://beiuwang.com
APP领券地址:https://www.pgyer.com/nO5g(仅限安卓手机,苹果手机敬请期待),
直接扫码安装:
[外链图片转存失败(img-Gp44seK9-1563100728138)(https://www.pgyer.com/app/qrcode/nO5g)]
在网站领优惠券后,复制淘口令打开淘宝,可直接减价购买
感谢有你们,thx

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值