【问题标题】:Snowflake data type equivalent for Postgres jsonb data type雪花数据类型等效于 Postgres jsonb 数据类型
【发布时间】:2020-07-01 21:00:47
【问题描述】:

我正在尝试从 Postgres 到 Snowflake 的 ETL。 Postgres 中列的数据类型是“jsonb”,谁能告诉我 Snowflake 中的目标列数据类型应该是什么?

【问题讨论】:

  • 嗨 @sriram 我相信这篇 postgresql 博客文章中提到了一些格式:community.snowflake.com/s/article/… 但是,我真的建议分享一行示例数据,以便我们更好地提供帮助 - 我进行了搜索并发现处理 postgres 的几种方式。

标签: postgresql snowflake-cloud-data-platform jsonb


【解决方案1】:

在 Snowflake 中,您可以像 JSON 一样将 VARIANT 数据类型用于 semi-structured data

或者,如果您的根对象始终是OBJECTARRAY,您可以使用其中之一。

【讨论】:

  • “或者如果您的根对象始终是 OBJECT 或 ARRAY,您可以使用其中之一。”什么意思?
  • 例如,在 Snowflake 中,select typeof(parse_json('[1,2,{"a":1}]')::variant); 返回 ARRAY,select typeof(parse_json('{ "a":1, "b":[1,2,3] }')::variant) 返回 OBJECT——即使它们都被转换为变体。如果您需要将它们存储在同一列中,则列的类型应该是 VARIANT。但是如果 TYPEOF() 总是返回 OBJECT,或者总是返回 ARRAY,那么你可以更精确地指定 OBJECT 或 ARRAY 作为列的类型。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-08
  • 1970-01-01
  • 2019-08-03
  • 2021-09-07
  • 2011-01-13
  • 1970-01-01
相关资源
最近更新 更多