【发布时间】:2018-02-12 08:20:49
【问题描述】:
我在 DynamoDB 中有一个包含 100 万行的表。
我需要在 100 万行上运行一个进程。
表格如下所示:
Date, Type, Quantity, value
Jan23, M, 10, 0.4
Jan24, F, 5, 0.6
Jan26, M, 6, 0.8
流程如下:
- 获取 F 和 M 的所有记录,并按日期将它们分别排序到两个列表中。
清单 1:
Jan23, M , 10, 0.4
jan26, M, 6, 0.8
列表2:
Jan24, F, 5,0.6
- 现在,对于 List2 中的每一行,我需要找到 List 1 中的第一个可用行并进行处理。
所以 (10*0.4-0.6*5) = 1
- 现在因为我从 jan23 行拿走了 5 个,所以它只剩下 5 个作为剩余数量。
这是一个简单的过程,但是,这可以在具有 100 万条记录的 Lambda 中完成吗?我会以某种方式需要 Lambda 来保存所有 100 万条记录,因为由于必须知道每行的数量,因此无法拆分列表。
数据存储在 DynamoDB 而不是 S3 中,因为需要从 Web 应用程序轻松编辑某些行。如果此解决方案需要,我可以并且将实现一种将其存储在 S3 上的方法。
我一直在寻找并行实现,但为此我需要事先知道在哪里拆分每个列表。
【问题讨论】:
-
类型加日期的组合是否唯一,或者例如同一日期是否有多个M条记录?日期范围是多少?
-
是的,同一天有多条M记录。日期范围是从 2010 年至今。 @jarmod
-
请发布代码以显示解决此问题的尝试。
标签: amazon-web-services amazon-s3 aws-lambda amazon-dynamodb