SUPER 类型
使用 SUPER 数据类型将半结构化数据或文档存储为值。
半结构化数据不符合 SQL 数据库中使用的关系数据模型的刚性和表格结构。它包含引用数据中不同实体的标签。它们可以包含复杂的值,如数组、嵌套结构和其他与序列化格式(如 JSON)相关联的复杂结构。SUPER 数据类型是一组无 schema 数组和结构值,它们包含 Amazon Redshift 的所有其他标量类型。
SUPER 数据类型最高支持 16 MB 的单个 SUPER 字段或对象的数据。有关 SUPER 数据类型的更多信息,包括在表中实现它的示例,请参阅在 Amazon Redshift 中摄取和查询半结构化数据。
SUPER 数据类型具有以下属性:
Amazon Redshift 标量值:
Null
布尔值
一个数字,如 smallint、整数、bigint、小数或浮点(如 float4 或 float8)
字符串值,如 varchar 或 char
一个复杂的值:
一个值数组,包括标量或复数
一个结构,也称为元组或对象,它是属性名称和值(标量或复数)的映射
这两种类型的复数值中的任何一种都包含它们自己的标量或复数值,而对规则性没有任何限制。
SUPER 数据类型以无 schema 形式支持半结构化数据的持久性。虽然分层数据模型可以更改,但旧版本的数据可以共存在于同一个 SUPER 列中。
有关 Amazon Redshift 如何使用 PartiQL 启用导航到数组和结构的信息,请参阅导航。有关 Amazon Redshift 如何使用 PartiQL 语法通过使用查询的 FROM 子句导航数组来迭代 SUPER 数组的信息,请参阅取消嵌套查询。
有关 Amazon Redshift 如何使用动态键入处理无 schemal SUPER 数据而无需在查询中使用数据类型之前声明数据类型的信息,请参阅动态键入。