Hive Table 输出在查询时显示一个不存在的 Null 值

Hive Table output shows one non existent Null values when Queried

我知道有人问过类似的问题,但是我的 Select 查询 FOR THE HIVE TABLE returns 所有正确的列和一个额外的 NULL 列。

我创建了一个 HIVE TABLE,现在尝试使用 SELECT

查询它

DDL :

Table DDL :

CREATE TABLE IF NOT EXISTS family (name STRING COMMENT 'Member Name', 
Age INT COMMENT 'Age of the Member', 
floor INT COMMENT 'Residence floor', 
salary float COMMENT 'per month salary', 
birthplace STRING COMMENT 'State of birth', 
education STRING, 
gender STRING )
COMMENT 'basic details of fmaily members'
LOCATION " /user/hive/warehouse/family/MANJREKAR"
TBLPROPERTIES ('creator'='Sarang', 'created_at'='2019-10-06 14:00:00') ;

DML :

LOAD DATA LOCAL INPATH '/Users/tcssig/Documents/Hive/warehouse/Imports' OVERWRITE INTO TABLE family;  

要加载的数据

A   50  3   90000   Maharshtra  UG  M
B   46  3   40000   Maharshtra  UG  F
C   15  3   0   MP          HS  F
D   24  3   10000   Maharshtra  PG  F
E   85  3   7000    Maharshtra  HS  F
F   28  2   60000   MP          UG  M
G   59  2   60000   Maharshtra  UG  M
H   21  2   0   MP          HS  F
I   28  2   25000   Maharshtra  PHD F
J   32  1   30000   Maharshtra  PG  M
K   26  1   0   MP          UG  F
L   58  1   55000   Maharshtra  UG  F
M   63  1   25000   Maharshtra  UG  M

SELECT姓名,家庭工资;

输出:

"A",50,3,90000,"Maharshtra","UG","M"    NULL
"B",46,3,40000,"Maharshtra","UG","F"    NULL
"C",15,3,0,"MP","HS","F"    NULL
"D",24,3,10000,"Maharshtra","PG","F"    NULL
"E",85,3,7000,"Maharshtra","HS","F" NULL
"F",28,2,60000,"MP","UG","M"    NULL
"G",59,2,60000,"Maharshtra","UG","M"    NULL
"H",21,2,0,"MP","HS","F"    NULL
"I",28,2,25000,"Maharshtra","PHD","F"   NULL
"J",32,1,30000,"Maharshtra","PG","M"    NULL
"K",26,1,0,"MP","UG","F"    NULL
"L",58,1,55000,"Maharshtra","UG","F"    NULL
"M",63,1,25000,"Maharshtra","UG","M"    NULL

如何只获取查询的选定列?

您的整行似乎都进入了名称字段。所有其他字段均为 Null。

因为这是第一个字段,我敢打赌你在文件中的分隔符不是你在代码中指定的。


您似乎有逗号分隔的数据,这不是 Hive tables 的默认设置。

在此处查看有关声明 table 的正确语法的示例: