我得到了'无法识别的令牌'io':期望(JSON字符串,数字,数组,对象或令牌'null', 'true'或'false')"在没有底层复杂性的Trino集群中尝试执行简单的CTAS时出现错误。我尝试重新启动集群,增加集群大小,但这个愚蠢的错误仍然存在。有时会出错,有时不会。这对我们的ETL工作很不利,我需要弄清楚是什么原因造成的。
我在EMR 6.4.0上运行Trino 359。Hive目录使用Glue。错误信息:来自http://10.193.20.153:8889/v1/task/20211027_220021_01468_gtbqw.3.2?summarize com.fasterxml.jackson.core.JsonParseException的意外响应:无法识别的令牌'io':正在等待(JSON字符串,数字,数组,对象或令牌'null', 'true'或'false')在[Source: (byte[])"io.airlift.jaxrs。JsonMapperParsingException: Java类型io.trino.server.TaskUpdateRequest无效json
create table ide.stage_5
with (format = 'ORC')
as (
select distinct i.*
from ide.stage_4 i
);
进一步发现,这是由"独特的";
失败的源表:这个表是一个Glue (hive)分区的ORC表,使用SNAPPY压缩,500列,770,087行。
使用"distinct"可以成功运行查询。使用Glue (hive)分区的ORC表,使用SNAPPY压缩,133列,756,287行。
介于133列和500列之间的地方似乎是一个错误,我在这里提交了一个罚单:https://github.com/trinodb/trino/issues/9808