Amazon web services 什么&x2019;使用boto3直接或使用s3和数据管道将数据上传到Dynamodb的最佳方式是什么?

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":{

我有一个大尺寸的JSON文件,我想知道是否最好使用boto3直接将此信息上传到Dynamodb,或者最好先在s3上上传,然后使用数据管道,将此上传到Dynamodb

以下是一些示例数据:

样本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"
   }
}
对于这个示例,这只是一条记录,平均有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无关。