配置单元表中只显示空值

htrmnn0y  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(407)

我已在配置单元中创建了表。不是外部的,保持表结构与位于hdfs中的文件相同。
当我将数据从hdfs加载到hivemetastore中的表时,它成功地加载了,但只加载了空值,而不是实际的数据。我理解读模式的概念,但如何确保文件中的任何数据都能成功地加载到表中。
请有人建议如何解决这个问题。
谢谢

sy5wg1nm

sy5wg1nm1#

注意空位。有时您需要检查原始数据是否有空空间,如果您定义的数据类型不是string,这将成为问题(转换将失败,返回空值)。例如,当您将列数据类型定义为double,但加载的数据包含空格(例如:“0.5”)时,它将生成空值。如果这是一个问题,您可以用string数据类型中的所有列创建新表,然后修剪并将其转换为其他数据类型。

uelo1irk

uelo1irk2#

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

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’

您应该检查“fields terminated by”和“lines terminated by”是否正确。文件和表中的列数应匹配。
如果您仍然面临这个问题,请提供create table语句和insert语句以及文件中的示例数据。
谢谢

相关问题