【发布时间】:2020-10-05 03:12:56
【问题描述】:
我想将一个大的 csv 文件(大约 1gb,2.5m 行和 50 列)导入 DynamoDb,所以一直在关注来自 AWS 的 this 博客。
但是,我似乎遇到了超时问题。我已经摄取了大约 600,000 行,但它倒塌了。
我认为通过读取 CloudWatch 日志,超时是由于对 CSV 文件的 boto3 读取(它首先打开整个文件,迭代并批量写入)...我试图减小文件大小(3 列,10,000 行作为测试),我在 2500 行后超时。
这里有什么想法吗?!
TIA :)
【问题讨论】:
-
您是否检查过您没有受到 DynamoDB 的限制?这将作为 CloudWatch 中的指标提供
-
谢谢克里斯,我检查了这一点,但没有发生限制(计为 0 个限制)。我相信使用 OnDemand 表时,预置的读/写容量单位达到了 400 左右的峰值。
-
你说超时,是不是说超过了Lambda函数配置的超时时间?它设置为什么?您是在批量写入 DynamoDB 之前尝试将整个 CV 读入内存,还是在 CSV 中有效地进行流式传输?
-
如果你遇到超时,你能把它分解成更小的块并单独导入它们吗?
标签: amazon-web-services aws-lambda amazon-dynamodb