学习笔记Hive —— Hive应用—— Hive导入及导出数据

Posted 别呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习笔记Hive —— Hive应用—— Hive导入及导出数据相关的知识,希望对你有一定的参考价值。

四、Hive导入及导出数据

  • 通过HDFS直接导入导出
  • 通过Hive命令导入导出

4.1、Hive导入数据的语法

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
LOCAL:导入语句带有LOCAL,说明是导入Linux本地的数据,若是从HDFS上导入数据,则导入语句不加LOCAL;
filepath:数据的路径
OVERWRITE:指定覆盖表之前的数据,如果是追加,则去掉OVERWRITE关键字即可。
PARTITON:如果是分区表,指定分区字段的名称。

任务实现:导入数据到泰坦尼克乘客表中


下面先把train.csv导入到hdfs的/user/root目录下,然后就可以直接把hdfs上的导入到数据库

4.2、单表查询导入数据

INSERT [OVERWRITE|INTO] table1 
[PARTITION(part1=val1,part2=val2)] SELECT字段1, 字段2, 字段3  FROM2 ; 
OVERWRITE:覆盖         INTO:追加
PARTITION:分区表  填分区字段

4.3、多表查询导入数据

FROM1 
INSERT INTO TABLE2 SELECT 字段 LIMIT N
INSERT INTO TABLE3 SELECT 字段 WHERE;

任务实现:
查询tidanic表中的存活乘客数据到tidanic_save
查询tidanic表中的死亡乘客数据到tidanic_died


4.4、导出到Linux本地

INSERT OVERWRITE [LOCAL] DIRECTORY '路径’ 
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',SELECT 字段1, 字段2, 字段3 FROM 表名 ;
如果添加LOCAL关键字,那么导出的是本地目录,如果没有该关键字,那么导出的是HDFS目录;
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','在这里指定导出数据的分隔符为‘,’。
OVERWRITE LOCAL DIRECTORY 查询结果将覆盖本地目录

任务实现:导出死亡名单到Linux本地

查看

以上是关于学习笔记Hive —— Hive应用—— Hive导入及导出数据的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记Hive —— Hive开发应用

学习笔记Hive —— Hive应用—— 数据库定义创建表

hive学习笔记_hive的表创建

hive学习笔记_hive的介绍与安装

Hive学习笔记

Hive 系统性学习笔记