Hive查詢表,返回資料全是NULL

2022-03-27 11:22:07 字數 1128 閱讀 4543

情況1:

hive> create table users(id int, name string);

hive> load data local inpath '/usr/local/users.txt' into table users;

其中「/usr/local/users.txt」的內容為下面所示,每一行的(id,name)之間使用乙個空格分割。

1 lee

2 jack

3 rose

4 marry

5 tom

hive> select * from users;

oknull null

null null

null null

null null

null null

情況2:將情況1中檔案「/usr/local/users.txt」的每一行(id,name)之間使用乙個tab鍵分割。

hive> select * from users;

oknull null

null null

null null

null null

null null

情況3:將情況1中的命令

hive> create table users(id int, name string);

改為:hive> create table users(id int, name string) row format delimited fields terminated by ' ' lines terminated by '\n' stored as textfile;

其中terminated by ' '指定了資料分隔符是乙個空格,與「/usr/local/users.txt」中每行分隔符一致。

hive> select * from users;

ok1 lee

2 jack

3 rose

4 marry

5 tom

綜上所述:hive 中建立表載入資料的時候,分隔符與載入檔案中的分隔符需要一致,才能得到正確的查詢結果.

sqoop 導表進hive 之後資料都是null

show create table 表名 檢視表的分割符號對不對 重新drop掉表再建即可。正常不指定表的分隔符 就是預設 001分割,然後正常sqoop匯入就有資料了。部分列字段都是null 原因就是字段型別不匹配,要麼就是tinyint的問題,mysql的tinyint 1 進入hive會認為是...

hive查詢表,返回結果是null

問題 hive查詢表,返回結果都是null hive create table testtable id int,name string hive load data local inpath home test.txt into table testtable 其中 home test.txt 的...

CentOS7 Hive 插入資料全部為Null

hive 第一次建立庫指令碼 create table pokes foo int,bar string hive 調整後的建庫指令碼 create table pokes foo int,bar string row format delimited fields terminated by 請注...