【发布时间】:2017-08-24 15:43:07
【问题描述】:
我正在尝试执行一个简单的
select * from table limit 1;
外部表上 hive 中的语句。但面临执行失败:
java.io.IOException:org.apache.avro.AvroTypeException: Found double, expecting union.
谁能帮我理解这意味着什么?我已经检查了架构文件,并且已经给出了“默认”:null。
发生此异常的确切原因是什么?
我试着理解an already existing discussion。
架构看起来像这样:
{"type":"record",
"name":"VISIBILITY",
"namespace":"pentaho_etl",
"fields":[ {"name":"ID", "type":["null","long"], "default":null},
{"name":"VERSION_ID", "type":["null","long"], "default":null},
{"name":"IMP_CLASS", "type":["null","string"], "default":null},
{"name":"NAME", "type":["null","string"], "default":null},
{"name":"DL_SCHEMA_VERSN", "type":["null","long"], "default":null},
{"name":"DL_FEED_TM", "type":["null","string"], "default":null},
{"name":"DL_WFID", "type":["null","long"], "default":null},
{"name":"DL_ENT_NM", "type":["null","string"], "default":null},
{"name":"DL_JID", "type":["null","long"], "default":null},
{"name":"DL_DATASET_ID", "type":["null","long"], "default":null},
{"name":"DL_FD_DT", "type":["null","string"], "default":null}
]
}
【问题讨论】:
-
你能提供 avro 架构吗?
-
您的架构文件中有几个错误,您确定使用的是同一个文件吗? (字段数组的第一个元素 - 它应该是“null”而不是“null”,字段数组的第 7 个元素 - 它应该是“DL_WFID”而不是 DL_WFID)
-
“描述表”是否显示与 avro 架构文件定义的架构相同?
-
@Shubhangi,我进行了所需的编辑。这是我在此处编写架构时的手动错误。是的,describe 表向我展示了正确的列和数据类型。