我有多个设备使用 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 的选项,我的方法正确吗?如果不是,我应该使用哪种方法?谢谢。