load加载本地数据到hive数据库后查询数据为NULL

hive> show databases;
OK
default
Time taken: 1.867 seconds, Fetched: 1 row(s)
hive> use default;
OK
Time taken: 0.067 seconds
hive> show tables;
OK
student
Time taken: 0.072 seconds, Fetched: 1 row(s)
hive> drop table student;
OK
Time taken: 1.272 seconds
hive> create table student(id int,name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
OK
Time taken: 0.703 seconds
hive> load data local inpath '/opt/module/datas/student.txt' into table student;
Loading data to table default.student
Table default.student stats: [numFiles=1, totalSize=37]
OK
Time taken: 1.24 seconds
hive> select * from student;
OK
1001	zhangsan
1002	lisi 
1003	wangwu
Time taken: 0.512 seconds, Fetched: 3 row(s)

load data local inpath ‘/opt/module/datas/student.txt’ into table student;
这句指令就是将虚拟机中一个文件夹下的数据加载到hive数据表中,但是这里出现了一个错误,我在查询数据时发现,所有的字段都是NULL。反复试了几次都是这样。

在这里插入图片描述但是自己插入数据都可以正常显示,就是本地数据加载进去的数据偏偏显示为NULL。

后来我仔细想了一下加载命令本身,这里是根据数据里每一行中的 ‘\t’ 来区分字段的,而我数据里用的是空格,而不是制表符。
所以当我将数据里的单个空格改为tab缩进之后,重新加载就正常显示数据了。

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章