Dynamo DB中大小为N的随机抽样,不进行全表扫描



我是dynamodb的新手& &;在寻找一种方法随机获得项目没有一个完整的表扫描,我发现的大多数算法包括完整的表扫描有一些麻烦我也采取的情况下,我们没有表的附加信息(如列和列类型,这样的信息是未知的)是否存在这样做的方法

可以对扫描或查询操作使用随机生成的独占开始键进行随机抽样。排他性开始键不必与表中的记录匹配。它只需要遵循表/索引的键结构。

与大多数关于DynamoDB查询的问题一样,如何构建数据取决于您想要如何查询它。

对于像随机抽样这样的东西,您必须使其确认DynamoDB的以下核心约束:

  • 必须提供分区键
  • 可以提供排序键

使用"single table"类型设计,你可以这样构造你的数据:

<表类> PK SK myVal tbody><<tr>my_dict6 caaf1e3 eb8d - 404 a - a2ae - 97 d6682b0224foomy_dict1 c5496e8 c660 - 4 b4e - 980 f - 4 - abfb1942863栏my_dict56551340 - fff8 - 4824 a5be - 70 fcaece2e1a巴兹my_other_dict520 a7b37 - 233 c - 49 - dd - 87 da - 77 d871d98c92test1my_other_dict65 ccd54e - 72 c3 - 499 d - a3a7 - 0 - cd989252607test2

最新更新