hive04 . hive数据导入和导出方式

1导入方式

1).指定location

create table tb_log2(
id int ,
name string 
)
row format delimited fields terminated by "," 
location  '/data/log/' ; -- 指定了路径,路径的文件会被直接加载到table中

2).可以将结构化数据直接put到表目录中   mv到指定的目录

1.在网址http://linux01:9870中查到自己想要将数据传入的表格的位置

通常在/user/hive/warehouse路径下

2.把数据文件put进去

hdfs dfs -put /data/user.tsv /user/hive/warehouse/tb_log;

3). 使用load语法 

 load data local  inpath "/data/user3.csv" into table tb_user ;  --在本地中传出数据;底层就是put
 load data  inpath "/user5.csv" into table tb_user ;  -- 在hdfs中传数据,底层move

 -- 追加数据   
 load data  inpath "/user3.csv" overwrite into table tb_user ;  -- 底层move

4).基本模式插入

hive (default)> insert into table  student partition(month='201709') values(1,'wangwu');

此种方式不常用,会产生大量的小文件

 

5).import数据到指定表中

注意:先用export导出后,再将数据导入。

hive (default)> import table student2 from  '/user/hive/warehouse/export/student';

2.hive数据的导出

1.export方式导出

export table tb_name to 'HDFS_PATH';    将数据导出到hdfs的某个路径中

2.普通的文本文件数据,可以用get方法直接将数据导出到root用户下

hive> dfs -get  /dfs_path;   导出到了root用户下([root@linux01 ~])

3.不开启终端,执行sql语句

[root@linux01 ~] hive -e  "SQL"  >>  输出路径

4.insert导出

1.将查询的结果导出到本地

hive (default)> insert overwrite local directory '/opt/module/datas/export/student'

select * from student;

2.将查询的结果格式化导出到本地

hive(default)>insert overwrite local directory '/opt/module/datas/export/student1'

ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'             select * from student;

3.将查询的结果导出到HDFS上(没有local)

hive (default)> insert overwrite directory '/user/doit/student2'

ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'

select * from student;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值