Hive数据导出的四种方法

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’;

相关推荐

  1. Hive数据导出方法

    2024-01-17 09:18:01       60 阅读
  2. Hive排序方法

    2024-01-17 09:18:01       57 阅读
  3. 数据库执行脚本文件导入数据方式

    2024-01-17 09:18:01       56 阅读
  4. mysql 删除数据方法

    2024-01-17 09:18:01       42 阅读
  5. 数据解析方式

    2024-01-17 09:18:01       16 阅读
  6. Hive-基础】表数据导出导入(HDFS、本地)

    2024-01-17 09:18:01       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-17 09:18:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-17 09:18:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-17 09:18:01       87 阅读
  4. Python语言-面向对象

    2024-01-17 09:18:01       96 阅读

热门阅读

  1. 贪心算法part04 算法

    2024-01-17 09:18:01       59 阅读
  2. 50-Js控制元素显示隐藏

    2024-01-17 09:18:01       45 阅读
  3. 给VScode 挪挪窝

    2024-01-17 09:18:01       58 阅读
  4. 【一天一个算法】---时间轮算法

    2024-01-17 09:18:01       52 阅读
  5. 面试 React 框架八股文十问十答第十期

    2024-01-17 09:18:01       50 阅读
  6. 深度学习常用代码总结(k-means, NMS)

    2024-01-17 09:18:01       57 阅读
  7. docker-compose安装redis

    2024-01-17 09:18:01       65 阅读
  8. 部署大模型API的实战教程

    2024-01-17 09:18:01       58 阅读
  9. c++计算岛屿数量

    2024-01-17 09:18:01       49 阅读
  10. C# BackgroundWorker 后台任务

    2024-01-17 09:18:01       47 阅读
  11. gRPC vs HTTP

    2024-01-17 09:18:01       57 阅读