1

我有多个设备使用 Amazon Kinesis Analytic 和 Flink 流式传输和存储数据。而且,我对检索 S3 接收器记录感到困惑。

我的设备每秒钟都在创造

{ timestamp: 1613136078572,
  numberOfPeople: 3,
  peopleNames: [ 'Mary', 'Sunny', 'Peter' ] }
records: 1
{ timestamp: 1613136079577,
  numberOfPeople: 3,
  peopleNames: [ 'Mary', 'Sunny', 'Peter' ] }
records: 
{ timestamp: 1613136080581,
  numberOfPeople: 4,
  peopleNames: [ 'Tom', 'Mary', 'Sunny', 'Peter' ] }
...

并且 S3 接收器文件存储为这些格式

${device_id}/YYYY-MM-dd/HH/mm/
device_01/2021-02-12/12/34/part-2-0
device_01/2021-02-12/12/35/part-2-1
device_01/2021-02-12/12/36/part-2-2
device_02/2021-02-12/12/35/part-2-1
device_02/2021-02-12/12/36/part-2-2
...

我的 appoarch 正在将数据和 S3 接收器文件名索引到 DynamoDB 中,这样我就可以从 DynamoDB 中搜索数据并有效地取回正确的 S3 文件。例如,我可以在特定时间段内从 DynamoDB 中查询“Tom”的文件名。而且,我还会通过带有其他数据字段(如 numberOfPeople、deviceId 等)的文件进行查询。

但是我在 Flink 文档中没有看到使用 DynamoDB 的选项,我的方法正确吗?如果不是,我应该使用哪种方法?谢谢。

4

0 回答 0