【问题标题】:What benefit does Firehose+S3 provide instead of using Athena directly on DynamoDb?Firehose+S3 提供什么好处而不是直接在 DynamoDb 上使用 Athena?
【发布时间】:2021-02-23 09:39:46
【问题描述】:

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-dynamodb amazon-kinesis-firehose amazon-quicksight


    【解决方案1】:

    首先,Athena 无法直接查询 DynamoDB。 为此,您需要在另一个可以被 AWS Glue 识别为有效数据源的位置提供数据; 最常见的实际上是 S3 和 Kinesis(由于性能和成本原因),但还有其他选择:

    • JDBC
    • 亚马逊 RDS
    • MongoDB
    • 亚马逊文档数据库
    • 卡夫卡
    • (其他选项将根据您选择的映射数据的方式显示)

    对于 DynamoDb,您必须先从所需表中提取数据,然后才能使用它。或者,与第一个示例一样,使用实时流。

    解释每个场景。


    第一个场景:使用直接连接到 kinesis Firehouse 的 DynamoDb 流,这使得实时 DynamoDb 流发出的数据在 S3 中可用。这样 Athena 就可以使用 S3 作为数据源。

    第二种情况:使用胶水爬虫从 DynamoDb 映射数据架构,并在您的数据目录中创建一个表,其中包含对象属性的架构映射。并且提取数据本身使用指向属性映射表并将数据提取到 S3 的粘合作业,在您的数据目录中创建另一个表,但这次指向 S3,使其可供 Athena 执行查询。


    DynamoDB 的数据结构和存储并未像 Athena 期望的那样针对执行关系查询进行优化,您可以在 DynamoDB docs 上阅读更多相关信息。

    【讨论】:

      猜你喜欢
      • 2016-04-09
      • 2012-03-22
      • 1970-01-01
      • 2019-09-23
      • 2011-12-09
      • 1970-01-01
      • 2010-09-14
      • 2022-08-03
      • 1970-01-01
      相关资源
      最近更新 更多