hive數(shù)據(jù)倉庫有多種數(shù)據(jù)導出方法,我在本篇文章中介紹下面的四種方法供大家參考:Insert語句導出、Hadoop命令導出、Hive shell命令導出、Export語句導出。
一、Insert語句導出
語法格式
Hive支持將select查詢的結(jié)果導出成文件存放在文件系統(tǒng)中。語法格式如下;
注意:導出操作是一個OVERWRITE覆蓋操作,慎重。
目錄可以是完整的URI。Hive使用hadoop配置變量fs.default.name來決定導出位置;
如果使用LOCAL關鍵字,則Hive會將數(shù)據(jù)寫入本地文件系統(tǒng)上的目錄;
寫入文件系統(tǒng)的數(shù)據(jù)被序列化為文本,默認列之間用\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、導出查詢結(jié)果到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、導出數(shù)據(jù)到本地文件系統(tǒng)指定目錄下
insert overwrite local directory '/home/huser/test1' row format delimited fields terminated by ','
select * from users;
二、Hadoop命令導出
Hadoop命令將HDFS中的數(shù)據(jù)導出到本地文件系統(tǒng)指定目錄中:
--在hive客戶端執(zhí)行
dfs –get /user/hive/warehouse/demo.db/users_default.txt
/home/root/users.txt
--Linux本地執(zhí)行
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 執(zhí)行腳本 > filepath
將HQL語句存儲在執(zhí)行腳本文件中,將執(zhí)行腳本文件的執(zhí)行結(jié)果存儲在指定目錄下的文件中。例如,hivef.sql腳本文件中存儲HQL語句“select *from demo.user;”,執(zhí)行hivef.sql腳本文件中的查詢語句,并將查詢結(jié)果輸出到文章來源:http://www.zghlxwxcb.cn/news/detail-796984.html
hive –f ' hive.sql' > /home/root/test/users2.txt
四、Export語句導出
Export語句導出是將Hive表中的數(shù)據(jù)導出到Hadoop集群的HDFS中的其他目錄下:文章來源地址http://www.zghlxwxcb.cn/news/detail-796984.html
export table users to ‘/user/hive/warehouse/export’;
到了這里,關于Hive數(shù)據(jù)導出的四種方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!