Лучший способ загрузить данные с помощью boto3 в DynamoDB? - PullRequest
0 голосов
/ 29 января 2019

Я использую Python boto3 для загрузки данных в AWS.

У меня выделенное подключение к AWS со скоростью 350 Мбит / с.

У меня большой файл JSON, и я хотел бы знать, лучше ли загружать эту информацию непосредственно в DynamoDB или вместо этогоЛучше сначала загрузить это на S3, а затем использовать конвейер данных для загрузки в DynamodDB?

Мои данные уже очищены и их не нужно обрабатывать.Мне просто нужно предоставить эту информацию DynamoDB наиболее эффективным и надежным способом.

Мой сценарий будет работать на сервере со следующими характеристиками: 512 ГБ ОЗУ 48 ядер ЦП

Вотнекоторые примеры данных:

Sample1:

{  
   "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 миллионов, а размер файла составляет 70 ГБ.

Образец 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 миллионов записей и размер файла 10 ГБ.

Заранее спасибо

...