You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redshift基于Kinesis流创建物化视图时SUPER类型导航报错

Redshift自动刷新物化视图SUPER类型字段导航报错解决

问题原因

你当前的SQL直接对原始字符串类型的kinesis_data字段进行嵌套点导航,但该字段并未被解析为SUPER类型;即便你用JSON_PARSE生成了SUPER类型的data字段,也没有基于这个字段去访问嵌套属性,而是继续操作原始字符串字段,因此触发Navigation on column data is not allowed as its super type错误。

修正方案

需要基于解析后的SUPER类型字段进行嵌套属性访问,同时遵循Redshift的SUPER类型导航语法:

  • 先用JSON_PARSE将字符串类型的kinesis_data转换为SUPER类型
  • 对SUPER类型的嵌套字段,使用点语法+双引号包裹带特殊字符/大小写敏感的键,或使用方括号语法

修正后的SQL语句:

CREATE MATERIALIZED VIEW test_sch."new_vw" AUTO REFRESH YES AS
SELECT 
    approximate_arrival_timestamp,
    JSON_PARSE(kinesis_data) as data,
    data.dynamodb."Keys"."Id"."S" as prospectId,
    data.dynamodb."NewImage"."Name"."S" as prospectName,
    data.dynamodb."NewImage"."SessionId"."S" as gaSessionId
FROM kds_schema."test-stream-dev"
WHERE CAN_JSON_PARSE(kinesis_data);

额外说明

如果键名不存在大小写敏感或特殊字符,也可以简化为方括号语法,效果一致:

data["dynamodb"]["Keys"]["Id"]["S"] as prospectId

内容的提问来源于stack exchange,提问作者Anand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 08:08:12