学习笔记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] table 表1
[PARTITION(part1=val1,part2=val2)] SELECT字段1, 字段2, 字段3 FROM 表2 ;
OVERWRITE:覆盖 INTO:追加
PARTITION:分区表 填分区字段
4.3、多表查询导入数据
FROM 表1
INSERT INTO TABLE 表2 SELECT 字段 LIMIT N
INSERT INTO TABLE 表3 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导入及导出数据的主要内容,如果未能解决你的问题,请参考以下文章