hive学习笔记——Hive表中数据的导入和导出

    在创建数据表的过程中,Hive表创建完成后,需要将一些数据导入到Hive表中,或是将Hive表中的数据导出。

一、将数据导入Hive

    Hive表的数据导入主要有三种方式:

  1. 从本地文件系统中导入数据到Hive表中
  2. HDFS上导入数据到Hive表中
  3. 从别的表中查询出相应的数据导入到Hive表中
  4. 在创建Hive表时通过从别的表中查询并插入的方式将数据导入到Hive表中

1、从本地文件系统中导入数据到Hive表中

格式:
LOAD DATA LOCAL INPATH "path" [OVERWRITE] INTO TABLE tablename;


假设此时有一个文本文件存储在本地,地址为:“ /home/training/zzy_scripts/studentno_data.txt ”,需要将这个本地文件导入到 Hive studentno 中。

查询数据库中的文件

已经将制定的文件导入到 Hive 表中。

2、从HDFS上导入数据到Hive表中

   从 HDFS 导入数据的格式与从本地导入数据的格式差不多,其格式为:
LOAD DATA INPATH "path" OVERWRITE INTO TABLE tablename;

所不同的是少一个 LOCAL

3、从别的表中查询出相应的数据导入到Hive表中

   从别的表中查询出相应的数据导入到 Hive 表中的格式为:
INSERT OVERWRITE TABLE tablename_1 PATITION() SELECT ... FROM tablename_2 WHERE ...

其中,PATITION指的是指定分区,WHERE是查询的条件,如下面的例子:

Hive 表将查询的工作转换成 MapReduce 程序执行,执行完成后返回成功的标志。我们查询表 studentnotmp

4、在创建Hive表时通过从别的表中查询并插入的方式将数据导入到Hive表中

格式 (CTAS)
CREATE TABLE IF NOT EXISTS tablename1...AS SELECT ...

如下面的例子:

注意: Hive studentnotmp1 不能指定列。

二、从Hive表中将数据导出

   对于Hive表中的数据,有时需要将其导出,或是导出到本地,或是导出到HDFS,再其次便是将其导入到另一张Hive表中。

1、导出到本地文件系统

格式:
INSERT OVERWRITE LOCAL DIRECTORY ... SELECT * FROM ...;

例如:

2、导出到HDFS

格式:
INSERT OVERWRITE DIRECTORY ... SELECT * FROM ...;

3、导出到Hive的另一张表中

与从别的表中查询出相应的结果插入到表中类似,其 格式为:
INSERT INTO ...




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值