我想将我的数据从DynamoDb迁移到Redshift。我不想一次扫描整个表,因为这可能会导致节流。 我的表如下:
acountId(哈希键),lastUpdatedTime。
我以为可以在lastUpdatedTime上创建GSI,然后可以像查询第1天到第5天之间的数据那样进行查询。第二天,我可以在第六天到第七天之间给我数据。 但是即使有了GSI,我的理解仍然是它将扫描整个表,因为我将无法提供任何哈希键。我只是需要查询一些时间戳。
答案 0 :(得分:0)
创建GSI确实是正确的解决方案。但是,如果将GSI设置为投射所有属性,则GSI创建操作可能会有点慢/昂贵。我建议在lastUpdatedTime上创建GSI,并使用KEYS_ONLY
仅投影分区键(如果有键,则输入顺序键)。然后,当您扫描时,您将仅检索项目密钥并在那里查询项目,然后再进行迁移。
我建议在此处阅读GSI:https://docs.aws.amazon.com/fr_fr/amazondynamodb/latest/developerguide/GSI.html