Hive数据导出的四种方法
创始人
2024-11-10 16:36:19

hive数据仓库有多种数据导出方法,我在本篇文章中介绍下面的四种方法供大家参考:Insert语句导出、Hadoop命令导出、Hive shell命令导出、Export语句导出。

一、Insert语句导出

语法格式

Hive支持将select查询的结果导出成文件存放在文件系统中。语法格式如下;

注意:导出操作是一个OVERWRITE覆盖操作,慎重

目录可以是完整的URI。Hive使用hadoop配置变量fs.default.name来决定导出位置;

如果使用LOCAL关键字,则Hive会将数据写入本地文件系统上的目录;

写入文件系统的数据被序列化为文本,默认列之间用\001隔开,行之间用换行符隔开。

代码示例:

--标准语法: INSERT OVERWRITE [LOCAL] DIRECTORY directory1 [ROW FORMAT row_format] [STORED AS file_format] SELECT ... FROM ... --Hive extension (multiple inserts): FROM from_statement INSERT OVERWRITE [LOCAL] DIRECTORY directory1 ROW FORMAT DELIMITED FIELDS TERMINATED BY ...   select_statement1 [INSERT OVERWRITE [LOCAL] DIRECTORY directory2  ROW FORMAT DELIMITED FIELDS TERMINATED BY ...  select_statement2] ... 

演示

--1、导出查询结果到HDFS指定目录下 insert overwrite directory '/test1' select * from users; --2、导出时指定分隔符和文件存储格式 insert overwrite directory '/test1' row format delimited fields terminated by ',' stored as orc select * from users; --3、导出数据到本地文件系统指定目录下 insert overwrite local directory '/home/huser/test1' row format delimited fields terminated by ',' select * from users; 

二、Hadoop命令导出

Hadoop命令将HDFS中的数据导出到本地文件系统指定目录中:

--在hive客户端执行 dfs –get /user/hive/warehouse/demo.db/users_default.txt  /home/root/users.txt  --Linux本地执行 hadoop fs -get /user/hive/warehouse/demo.db/users_default.txt /home/root/users.txt 

三、Hive shell命令导出

1.基本语法:hive -e HQL语句 > filepath

hive –e ' select * from demo.users' > /home/root/test/users.txt 

2.基本语法:hive -f 执行脚本 > filepath

将HQL语句存储在执行脚本文件中,将执行脚本文件的执行结果存储在指定目录下的文件中。例如,hivef.sql脚本文件中存储HQL语句“select *from demo.user;”,执行hivef.sql脚本文件中的查询语句,并将查询结果输出到

hive –f ' hive.sql' > /home/root/test/users2.txt 

四、Export语句导出

Export语句导出是将Hive表中的数据导出到Hadoop集群的HDFS中的其他目录下:

export table users to ‘/user/hive/warehouse/export’; 

相关内容

热门资讯

裸辞做“一人公司”,我后悔了 去年这个时候,一位以色列程序员正在东南亚旅行。他顺手把一个在脑子里转了很久的想法做成了产品,一个让任...
南京建成国内首个Pre-6G试... 4月21日,2026全球6G技术与产业生态大会在南京开幕。全息互动技术展台前,一名远在北京的工作人员...
超梵求职受邀参加“2025抖音... 超梵求职受邀参加“2025抖音巨量引擎成人教育行业生态大会”,探讨分享优质内容传播,服务万千学员。 ...
摩托罗拉Razr 2026(R... IT之家 4 月 22 日消息,摩托罗拉宣布新一代 Razr 折叠手机将于 4 月 29 日在美国发...
库克卸任,特纳斯领航:苹果新纪... 苹果首席执行官蒂姆·库克将卸任,硬件工程主管约翰·特纳斯将接任,苹果公司今天宣布此事。 库克将在夏季...