Amazon web services 什么&x2019;使用boto3直接或使用s3和数据管道将数据上传到Dynamodb的最佳方式是什么?
我有一个大尺寸的JSON文件,我想知道是否最好使用boto3直接将此信息上传到Dynamodb,或者最好先在s3上上传,然后使用数据管道,将此上传到Dynamodb 以下是一些示例数据: 样本1:Amazon web services 什么&x2019;使用boto3直接或使用s3和数据管道将数据上传到Dynamodb的最佳方式是什么?,amazon-web-services,boto3,Amazon Web Services,Boto3,我有一个大尺寸的JSON文件,我想知道是否最好使用boto3直接将此信息上传到Dynamodb,或者最好先在s3上上传,然后使用数据管道,将此上传到Dynamodb 以下是一些示例数据: 样本1: { "updated":{ "n":"20181226" }, "periodo":{ "n":"20180823" }, "tipos":{ "m":{ "Disponible":{
{
"updated":{
"n":"20181226"
},
"periodo":{
"n":"20180823"
},
"tipos":{
"m":{
"Disponible":{
"m":{
"total":{
"n":"200"
},
"Saldos de Cuentas de Ahorro":{
"n":"300"
}
}
}
}
},
"mediana_disponible":{
"n":"588"
},
"mediana_ingreso":{
"n":"658"
},
"mediana_egreso":{
"n":"200"
},
"documento":{
"s":"2-2"
}
}
对于这个示例,这只是一条记录,平均有6800万条记录,文件大小为70Gb
样本2:
{
"updated":{
"n":"20190121"
},
"zonas":{
"s":"123"
},
"tipo_doc":{
"n":"3123"
},
"cods_sai":{
"s":"3,234234,234234"
},
"cods_cb":{
"s":"234234,5435,45"
},
"cods_atm":{
"s":"54,45,345;345,5345,435"
},
"num_doc":{
"n":"345"
},
"cods_mf":{
"s":"NNN"
},
"cods_pac":{
"s":"NNN"
}
}
对于这个示例,这只是一条记录,平均有700万条记录,文件大小为10Gb
提前感谢您的情况,我将使用AWS数据管道将您的Json数据文件从S3导入DynamoDB。AWS和其他人在互联网上提供了许多例子 对于我来说,您的用例就在编写Python导入脚本和部署数据管道之间。因为您的数据是干净的,所以部署管道将非常容易 我肯定会先将您的数据复制到S3,然后再处理S3中的数据。主要原因是公共互联网对如此大量的数据不可靠
如果此任务将随着时间的推移而重复,我肯定会使用AWS数据管道。请提供更多详细信息。有多少数据?什么类型的数据?数据是干净的还是需要在存储到DB之前进行处理?它已经干净了,平均大小是80GB。JSON的格式是什么?用数据样本编辑你们的问题。试着用你能想到的尽可能多的信息来提前思考我的问题。嗨,约翰,谢谢你的帮助,我希望有尽可能多的细节来帮助我解决这个问题。谢谢你的回答,如果我们有一个350 Mb的专用互联网频道呢?您是否仍然建议使用S3和数据管道来代替或直接将这些信息上传到DeaDoDB?我很少推荐使用任何形式的ETL的公共互联网。在S3中使用S3而不是直接将信息上传到DeNoDB有什么区别?主要的区别是可靠性。对于非常大的数据传输,公共互联网连接通常非常差。大多数AWS服务在没有专用网络(VPN等)的情况下无法连接回专用数据。我不使用公共互联网,而是使用专用通道上传这些信息。为什么可靠性问题只适用于直接上传到dynamodb,而不是如果我使用s3,最终我传输的数据大小相同,这与是否上传到s3或dynamodb无关。