aws athena:“hive\u bad\u data:解析列“x”时出错:空字符串”

3gtaxfhh  于 2021-06-24  发布在  Hive
关注(0)|答案(0)|浏览(233)

我想在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”列定义为字符串,但这显然不是理想的解决方案(尤其是如果有许多这样的列)。
你知道怎么解决这个问题吗?
谢谢您

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题