学习笔记Hive(四) —— Hive应用(2)—— Hive导入及导出数据

  • Post author:
  • Post category:其他




四、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本地


在这里插入图片描述

查看

在这里插入图片描述



版权声明:本文为qq_46485161原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。