042 将数据导入hive,将数据从hive导出

本文详细介绍了六种将数据导入Hive的方法,包括从本地导入、从HDFS导入、load方式覆盖、子查询方式、insert into方式及通过location指定路径;同时,也概述了四种从Hive导出数据的方式,如insert方式保存到本地或HDFS、使用bin/hdfs-get命令、通过Linux命令行执行HQL以及利用sqoop协作框架。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:将数据导入hive(六种方式)

1.从本地导入

  load data local inpath 'file_path' into table tbname;

  用于一般的场景。

  

 

2.从hdfs上导入数据

  load data inpath ‘hafd_file_path’ into table tbname;

  应用场景:使用与大数据的存储

 

3.load方式的覆盖

  load data local inpath 'file_path' overwrite into table tbname;

  应用场景:用于临时表。

   

 

4.子查询方式

  应用场景:对于数据查询的结构的保存。

  create  table tb2 as select * from tb1;

  

 

5.insert into 

  应用场景:和上面的应用场景相同,因为后面接的都是select查询。

  不需要as,直接后接入select。

  insert into table tb2 select q1;

  

 

6.location

  这种情况适用于前面说的外部表,或者管理表中对于表数据的指定。

  然后put就好。

  我想,前提是需要先建一个表。

  

  

  在HDFS上看效果

  

 

 

二:将数据从hive里导出(四种方式)

1.insert方式

  1)保存到本地

    语句:insert overwrite local directory 'path' select q1;

    

    效果:但是效果不好,没有分隔符

    

    改造:insert overwrite local directory 'path'  row format delimited  fields terminated by '\t' select q1;

    

     效果:

    

 

  2)保存到HDFS上

   insert overwrite directory 'hdfs_path' select * from dept;

   注意点:hdfs_path必须存在,这个说的是多级目录,但是最后一级的目录是自动生成的。

 

2.bin/hdfs -get

   与put一样,属于HDFS的基本操作。

   dfs -get .............

 

3.linux命令行执行HQL

  使用 -e

  使用 -f

  然后重定向到指定的文件。

 

4.sqoop协作框架。

  后面将会有关于sqoop的专门篇章。

  HDFS与关系型数据库之间的数据导入与到出。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值