1

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

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

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

有更好的想法吗?

4

1 回答 1

2
  1. 创建了一个包含以下列的测试 Postgres 表:
id     integer
info    jsonb
  1. 将数据添加到表中,并带有示例值:
{ "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 中作为“字符串”类型字段导入。

于 2019-02-07T22:35:22.227 回答