第4关:将 select 查询结果写入文件
任务描述
本关任务:根据编程要求将select
查询结果写入文件。
相关知识
为了完成本关任务,你需要掌握:1.单文件写入,2.多文件写入。
可以把Hive
查询结果写入或导出到文件中,与查询结果插入到表中类似,导出 Hive
表中的数据到文件也有两种方法,分别是单文件写入和多文件写入。
单文件写入
INSERT OVERWRITE [LOCAL] DIRECTORY directory
[ROW FORMAT row_format] [STORED AS file_format]
SELECT select_statement FROM from_statements;
若指定LOCAL
关键字,查询结果写入本地文件系统中(OS
文件系统);否则,查询结果写入到分布式文件系统中(HDFS
)。
row_format:
DELIMITED [FIELDS TERMINATED BY char [ESCAPED BY char]] [COLLECTION ITEMS TERMINATED BY char][MAP KEYS TERMINATED BY char] [NULL DEFINED AS char]
row_format
个属性说明参见 Hive DDL操作(一) 创建表部分。
- 如将
shopping
表中数据写入到/home/example
目录下:
insert overwrite local directory '/home/example'
select * from shopping;
会在/home/example
目录下生成000000_0
文件。
多文件写入
FROM from_statement
INSERT OVERWRITE [LOCAL] DIRECTORY directory1
SELECT select_statement1
[INSERT OVERWRITE [LOCAL] DIRECTORY directory2
SELECT select_statement2];
编程要求
在test4
数据库中有student
表,表中数据如下:
Sno | name | age | sex | score(Chinese-Math-English) |
---|---|---|---|---|
001 |
Xiaohong |
18 |
female |
96-88-90.5 |
002 |
Xiaoliang |
17 |
male |
95-88-93.5 |
003 |
Xiaoming |
19 |
male |
86.5-98-91 |
004 |
Xiaoguang |
18 |
male |
88-80-94 |
005 |
Xiaohua |
16 |
female |
97-58.5-88 |
- 查询
student
表中的前两条数据写入到本地文件/home/test4
目录下 - 查询
student
表中男生的数据写入到本地文件/home/test4_1
目录下,女生的数据写入到本地文件/home/test4_2
目录下
由于hive启动时间较长,测评时请耐心等待,大概需要时间:1-2分钟。
测试说明
平台会对你编写的命令进行测试:
若操作成功,会显示如下信息:文章来源:https://www.toymoban.com/news/detail-451139.html
test4目录下文件内容为:
2Xiaoliang17male95.088.093.5
1Xiaohong18female96.088.090.5
test4_1目录下文件内容为:
2Xiaoliang17male95.088.093.5
3Xiaoming19male86.598.091.0
4Xiaoguang18male88.080.094.0
test4_2目录下文件内容为:
1Xiaohong18female96.088.090.5
5Xiaohua16female97.058.588.0
开始你的任务吧,祝你成功!文章来源地址https://www.toymoban.com/news/detail-451139.html
--使用test4数据库
use test4;
--Begin
insert overwrite local directory '/home/test4'
select * from student limit 2;
from student
insert overwrite local directory '/home/test4_1'
select * where sex = 'male'
insert overwrite local directory '/home/test4_2'
select * where sex = 'female'
--End
到了这里,关于HIVE表 DML 操作——第4关:将 select 查询结果写入文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!