【问题标题】:Only NULLs appear in Hive TableHive 表中仅出现 NULL
【发布时间】:2018-07-09 17:27:22
【问题描述】:

我在 hive 中创建了表。 非外部,保持HDFS中文件的表结构相同。

当我将数据从 HDFS 加载到 hive 元存储中的表时,它成功加载但只有 NULL 而不是实际数据。 我了解 Schema on Read 概念,但我如何确保文件中存在的任何数据成功加载到表中。

请有人建议如何解决此类问题。

谢谢

【问题讨论】:

  • 请提及您用于在配置单元中提取数据的查询(创建表查询)。那么只有我能帮你
  • 显示你的文件和表格创建查询

标签: hadoop hive


【解决方案1】:

请检查您是否使用正确的语法来创建具有正确数据类型的表。

CREATE TABLE IF NOT EXISTS employee ( eid int, name String,salary String, 
destination String)
COMMENT ‘Employee details’
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘\t’
LINES TERMINATED BY ‘\n’

您应该检查“字段终止于”和“行终止于”是否正确。 文件和表中的列数应匹配。

如果您仍然遇到问题,请提供您的创建表语句和插入语句以及文件中的示例数据。

谢谢

【讨论】:

    【解决方案2】:

    小心空白。有时你需要检查原始数据是否有空格,如果你定义了String以外的数据类型就会出现问题(转换失败,返回空值)。一个示例是,当您将列数据类型定义为 double 但加载的数据包含空间(例如:'0.5')时,它将产生空值。如果这是问题,您可以使用 String 数据类型的所有列创建新表,然后修剪并将其转换为其他数据类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-13
      • 2016-11-15
      • 2022-01-08
      相关资源
      最近更新 更多