你能在Redshift上存储JSON字段吗?

eblbsuwk  于 2023-02-26  发布在  其他
关注(0)|答案(3)|浏览(279)

Redshift是否支持JSON字段,比如Postgresql的json数据类型?如果支持,我该怎么使用它?

k97glaaz

k97glaaz1#

您可以将JSON存储在AmazonRedshift中的普通文本字段中。
有一些函数可以从JSON字段中提取数据,但它不是存储数据的有效方法,因为它没有利用Redshift基于列的架构的全部功能。
参见:Amazon Redshift documentation - JSON Functions

kxxlusnw

kxxlusnw2#

更新:Redshift现在支持“super”类型的数据列,这允许保存JSON并在其上进行查询。添加了一个视频链接,进一步解释了新选项:https://www.youtube.com/watch?v=PR15TVZDgy4

ht4b089n

ht4b089n3#

您可以使用SUPER类型在Redshift中存储JSON数据,并根据需要使用JSON_PARSE(...)将文本转换为JSON。
参见https://docs.aws.amazon.com/redshift/latest/dg/r_SUPER_type.html
例如:

CREATE TABLE t
(
   id   INT,
   item SUPER
);

INSERT INTO t VALUES(1, JSON_PARSE('{"name":"Beethoven", "born":1770}'));

SELECT id, item.born FROM t WHERE item.name = 'Beethoven';

可以使用点符号查询JSON字段内容中的属性,如上所示,还可以连接JSON属性。
注意,Redshift的SUPER类型目前有16MB的限制。

相关问题