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縮進之後,重新加載就正常顯示數據了。

在這裏插入圖片描述

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