在 AWS Quicksight 中可视化 AWS DynamoDB 数据的正确方法是什么

在 AWS Quicksight 中可视化 AWS DynamoDB 数据的正确方法是什么

简而言之,考虑到这些标准,如何将 DynamoDB 连接到 AWS Quicksight?

在我现有的解决方案中,数据到达 AWS IoT,调用规则将其发送到 Lambda。Lambda 对其进行解码并将其放入 DynamoDB。DynamoDB 中的每条记录实际上都包含资源的多个读数/观察值。因此,从统计学家的角度来看,数据并不“整洁”。我希望的结果是将数据放入 Quicksight 中,并能够执行与 R 中相同深度的分析,但具有自动化、漂亮的仪表板和全球分布等巨大优势。这个问题具体是关于如何将数据发送到 Quicksight(目前没有可用于 noSQL 数据库的导入功能),以及应该在哪里进行数据清理。

我努力了:

  1. 通过 Lambda 流式传输数据(在新记录上触发),在 Lambda 中展开并使用 Kinesis Firehose 转发到 S3。从那里,您可以将 Athena 连接到数据集并将其导入 Quicksight。但我丢失了现有记录。这对我来说似乎很混乱。
  2. 我读过一些博客,建议使用 AWS Glue 和 Redshift 作为 DataLake。还有一些建议我先将数据迁移到关系数据库中。许多建议需要数周时间才能测试出来。
  3. 每周拍摄整个数据库的快照,然后将其放入 S3。这似乎很浪费,而且本质上不可扩展?但我可能低估了 AWS 的能力。
  4. 除了使用这些服务之外,还可以安排 Lmabda 每周运行一次,扫描整个表并将其拆开以创建一个巨大的 csv 文件并将其放入 S3。这可能是一种疯狂的方法,但它是一种简单的方法,可以预先处理所有数据清理,甚至可以与其他数据集交叉。例如,想象一个客户详细信息数据集和一个客户购买历史数据集,它们会大得多。将它们合并到 Lambda 中可能会很好,这样就不需要复杂的数据集连接了。或者这可能是一个很糟糕的主意。我真的不确定。因此才有这个问题。

关于数据清理,让事情复杂化的是我对 3 个数据库感兴趣。我需要将它们连接起来。在 R 中很容易。但在这种情况下似乎非常困难。

相关内容