hive表输出在查询时显示一个不存在的空值

ttygqcqt  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(409)

我知道有人问过类似的问题,但是我对配置单元表的select查询返回所有正确的列和一个额外的空列。
我已经创建了一个配置单元表,现在尝试使用select查询它
ddl地址:
表ddl:

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

dml公司:

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

要加载的数据

  1. A 50 3 90000 Maharshtra UG M
  2. B 46 3 40000 Maharshtra UG F
  3. C 15 3 0 MP HS F
  4. D 24 3 10000 Maharshtra PG F
  5. E 85 3 7000 Maharshtra HS F
  6. F 28 2 60000 MP UG M
  7. G 59 2 60000 Maharshtra UG M
  8. H 21 2 0 MP HS F
  9. I 28 2 25000 Maharshtra PHD F
  10. J 32 1 30000 Maharshtra PG M
  11. K 26 1 0 MP UG F
  12. L 58 1 55000 Maharshtra UG F
  13. M 63 1 25000 Maharshtra UG M

从家庭中选择姓名、薪水;
输出:

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

如何仅获取用于查询的选定列?

a64a0gku

a64a0gku1#

它会将您的整行放在“名称”字段中。所有其他字段都为空。
因为这是第一个字段,所以我打赌文件中的分隔符不是代码中指定的分隔符。
您似乎有逗号分隔的数据,这不是配置单元表的默认值。
下面是一个关于声明表的正确语法的示例:https://stackoverflow.com/a/48616635

相关问题