博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[一起学Hive]之七-向Hive表中加载数据
阅读量:4208 次
发布时间:2019-05-26

本文共 1416 字,大约阅读时间需要 4 分钟。

在Hive中建好表之后,需要将数据加载进来,以便做后续查询分析,本文介绍向Hive表中加载数据的几种方式。

6.1 建表时候直接指定

如果你的数据已经在HDFS上存在,已经为结构化数据,并且数据所在的HDFS路径不需要维护,那么可以直接在建表的时候使用location指定数据所在的HDFS路径即可。

比如:

CREATE [EXTERNAL] TABLE t_lxw1234 ( 
day STRING,
url STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ' '
stored as textfile
location '/tmp/lxw1234/';
 

这里内部表和外部表都可以指定,但需要注意,如果是内部表,那么在DROP该表的时候,同时会将LOCATION所指定的目录一起删除。

 

6.2 从本地文件系统或者HDFS的一个目录中加载

如果数据在本地,或者HDFS的某一个目录下,需要加载到目标中或分区中,那么使用LOAD DATA命令即可加载数据:

  • 加载本地文件

LOAD DATA LOCAL INPATH ‘/home/lxw1234/t_lxw1234/’

INTO TABLE t_lxw1234 PARTITION (day = ‘2015-06-15’);

  • 加载HDFS文件

LOAD DATA INPATH ‘/user/lxw1234/t_lxw1234/’

INTO TABLE t_lxw1234 PARTITION (day = ‘2015-06-15’);

6.3 从一个子查询中加载数据

这个比较简单,就是将一个查询结果插入到目标表或分区中:

INSERT overwrite TABLE t_lxw1234 PARTITION (day = ‘2015-06-15’)

SELECT day,url from source_table;

6.4 导出Hive中的数据到文件系统

这里也介绍一下从Hive中导出数据到文件系统(HDFS和本地文件系统)。

语法为:

INSERT OVERWRITE [LOCAL] DIRECTORY directory1 
[ROW FORMAT row_format] [STORED AS file_format]
SELECT ... FROM ...

如果指定了LOCAL关键字,则为导出到本地文件系统,否则,导出到HDFS。

使用ROW FORMAT关键字可以指定导出的文件分隔符,比如:

INSERT OVERWRITE LOCAL DIRECTORY '/tmp/lxw1234/' 
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
SELECT * FROM t_lxw1234;

该语句将t_lxw1234表的所有数据导出到本地文件系统/tmp/lxw1234/目录,字段间的分隔符为逗号。

cat /tmp/lxw1234/000000_0

2015-05-10,url1
2015-05-10,url2
2015-06-14,url1
2015-06-14,url2
2015-06-15,url1
2015-06-15,url2

更多关于Hive数据加载和导出的介绍,请参考官方文档:

转载地址:http://ytrli.baihongyu.com/

你可能感兴趣的文章
QC数据库表结构
查看>>
自动化测试工具的3个关键部分
查看>>
测试工具厂商的编程语言什么时候“退休”?
查看>>
资源监控工具 - Hyperic HQ
查看>>
LoadRunner中Concurrent与Simultaneous的区别
查看>>
SiteScope - Agentless监控
查看>>
QTP测试.NET控件CheckedListBox
查看>>
使用QTP的.NET插件扩展技术测试ComponentOne的ToolBar控件
查看>>
用上帝之眼进行自动化测试
查看>>
为LoadRunner写一个lr_save_float函数
查看>>
PrefTest工作室全新力作-《性能测试与调优实战》课程视频即将上线
查看>>
质量度量分析与测试技术 培训大纲
查看>>
欢迎加入【亿能测试快讯】邮件列表!
查看>>
为什么我们的自动化测试“要”这么难
查看>>
LoadRunner性能脚本开发实战训练
查看>>
测试之途,前途?钱途?图何?
查看>>
HP Sprinter:敏捷加速器
查看>>
单元测试培训PPT
查看>>
adb常用命令
查看>>
通过LR监控Linux服务器性能
查看>>