我将列声明为十进制。数据看起来像这样。
4500.00
5321.00
532.00
列名:area Decimal(9,2)
但是在Hive中它显示如下:
NULL NULL
如果我将列声明为字符串,它可以正常工作。但我只需要十进制。
答案 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;通过数据文件中的实际分隔符。