将 Postgres jsonb 数据导入 Amazon Quicksight

Postgres jsonb data into Amazon Quicksight

我正在研究将 Amazon Quicksight 作为报告工具,并且我正在使用来自 postgres 数据库的数据,其中包括 jsonb 格式的几个表格中的一些列。不幸的是,Quicksight 会跳过这些列,因为它只支持这里提到的基本类型:https://docs.aws.amazon.com/quicksight/latest/user/data-source-limits.html

我正在寻找一种解决方案,我可以在其中包含这些数据以及同一表中的其余关系数据。

到目前为止,我找不到比在我自己的应用程序中使用关系格式的数据创建视图更好的方法,Quicksight 可以使用它。还有什么不会用报告内容污染我的原始数据库吗?我还考虑过只在我的数据库的只读副本中使用这些视图,但这对于 RDS 上的 postgres 是不可能的。 Athena 也不是一个选项,也不是选择 json 作为数据集的选项,这是因为我想同时拥有关系数据和 json 进行分析。

有更好的主意吗?

  1. 创建了具有以下列的测试 Postgres table:
id     integer
info    jsonb
  1. 已将数据添加到 table,示例值:
{ "customer": "John Doe", "items": {"product": "Beer","qty": 6}}
  1. 在 QuickSight 中,使用自定义 SQL 创建了一个数据集,其中 SQL 语句(基于 [1])类似于:
select id, (info#>>'{}') as jsonb_value from "orders"

使用上述数据集,我能够将两列导入 QuickSight SPICE 并直接查询数据。 JSONB 列在 QuickSight 中作为 'String' 类型字段导入。