我想在aws athena上创建一个基于csv文件的外部表,使用opencsvserde。
CREATE EXTERNAL TABLE `table`(name string, value double, group string)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES ("separatorChar" = ",", "escapeChar" = "\\","skip.header.line.count"="1", "serialization.null.format"="")
LOCATION 's3://path' ;
该文件包含“value”字段缺少的一些值(双精度类型)。看起来是这样的:
name,value,group
name1,0.5,a
name2,0.2,a
name3,,a
name4,0.11,b
创建之后,当我尝试运行一些查询(比如简单的“select*from table”)时,athena给出了以下错误:
HIVE_BAD_DATA: Error parsing column '1': empty String
从create external table查询中可以看到,我尝试添加“serialization.null.format”='',但似乎不起作用。我找到的唯一解决方案是将“value”列定义为字符串,但这显然不是理想的解决方案(尤其是如果有许多这样的列)。
你知道怎么解决这个问题吗?
谢谢您
暂无答案!
目前还没有任何答案,快来回答吧!