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