HIVE从本地文件系统导入数据后,查询结果一查询全为null

编程入门 行业动态 更新时间:2024-10-27 05:35:04

HIVE从本地文件系统导入数据后,<a href=https://www.elefans.com/category/jswz/34/1771273.html style=查询结果一查询全为null"/>

HIVE从本地文件系统导入数据后,查询结果一查询全为null

create table if not exists hive.stu(id int,name string)
row format delimited fields terminated by ‘\t’;
a.从文件中导入

假如这个表中的记录存储于文件stu.txt中,该文件的存储路径为/usr/local/hadoop/examples/stu.txt,内容如下。

stu.txt:

1 xiapi
2 xiaoxue
3 qingqing

下面我们把这个文件中的数据装载到表stu中,操作如下:

load data local inpath '/usr/local/hadoop/examples/stu.txt' overwrite into table stu;
select * from user;结果一查询全为null

问题就出在分隔符上,我的建表语句分隔符是’\t’,'\t’代表的是tab符号,你键盘上的tab键,如下图:

hive中建好表后,使用load命令从本地文件系统导入数据,去表中查全是null
之所以全是null,就是因为你在本地文件内容不是以tab符作为缩进的,所以它匹配不到

我没注意到,所以文件中数据都是以空格缩进的,难怪会错了

比如我的本地文件是user.data,里面内容以空格缩进的的话如下:

1 xiapi 2 xiaoxue
3 qingqing

以tab符缩进的的话如下:

1 xiapi
2 xiaoxue
3 qingqing

失之一毫,谬之千里,另外建表还支持以逗号、空格等分隔符,那么你文件中数据一定也要一逗号或者空格来缩进。

更多推荐

HIVE从本地文件系统导入数据后,查询结果一查询全为null

本文发布于:2024-03-06 06:03:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1714552.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:查询结果   文件系统   数据   HIVE   null

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!