在将列声明为十进制时,在配置单元中打印空值

时间:2015-05-13 13:36:17

标签: hadoop hive

我将列声明为十进制。数据看起来像这样。

4500.00
5321.00
532.00

列名:area Decimal(9,2)

但是在Hive中它显示如下:

NULL NULL

如果我将列声明为字符串,它可以正常工作。但我只需要十进制。

2 个答案:

答案 0 :(得分:0)

我认为这可能是外部表格分隔符不匹配的问题。

我希望您可能配置了不同的分隔符,而不是文件中存在的实际分隔符,以防您使用外部表。

请尝试使用以下命令

找到实际分隔符并更改表格

alter table <table_name> set SERDEPROPERTIES ('field.delim' = '<actual_delimiter>');

答案 1 :(得分:0)

在create table statement

例如

CREATE TABLE figure(length DOUBLE, width DOUBLE, area DOUBLE) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE;

您替换&#39; \ t&#39;通过数据文件中的实际分隔符。