我有一个较大的JSON文件,我想知道是否最好使用boto3将信息直接上传到Dynamodb,或者最好先在s3上上传然后再使用数据管道,将其上传到炸药吗?
以下是一些示例数据:
样本1:
{
"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"
}
}
对于此样本,这仅是一条记录,平均有68密耳的记录,文件大小为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"
}
}
对于此样本,这仅是一条记录,平均有7毫记录,文件大小为10Gb。
预先感谢
答案 0 :(得分:0)
根据您的情况,我将使用AWS Data Pipeline将您的Json数据文件从S3导入DynamoDB。 AWS和互联网上的其他人提供了许多示例。
对我来说,您的用例就在编写Python导入脚本和部署数据管道之间。由于您的数据是干净的,因此部署管道将非常容易。
我肯定会先将您的数据复制到S3,然后再从S3处理您的数据。主要原因是公共互联网对如此大量数据的不可靠性。
如果随着时间的推移将重复执行此任务,那么我肯定会使用AWS Data Pipeline。