Вот моя проблема. Я пытаюсь загрузить большой CSV-файл в космос db (~ 14 ГБ), но мне трудно максимизировать пропускную способность, за которую я плачу. В пользовательском интерфейсе обзора метрик портала Azure говорится, что я использую 73 RU / s, когда я плачу за 16600 RU / s. Прямо сейчас я использую функцию массовой записи pymongo для загрузки в базу данных, но я обнаружил, что любая длина bulk_write, превышающая 5, вызовет жесткое исключение Request rate is large.
. Я делаю это неправильно? Есть ли более эффективный способ загрузки данных в этом сценарии? Пропускная способность интернета, вероятно, не проблема, потому что я загружаю из лазурного виртуального диска в космос db.
Структура того, как я сейчас загружаю в python:
for row in csv.reader:
row[id_index_1] = convert_id_to_useful_id(row[id_index_1])
find_criteria = {
# find query
}
upsert_dict = {
# row data
}
operations.append(pymongo.UpdateOne(find_criteria, upsert_dict, upsert=True))
if len(operations) > 5:
results = collection.bulk_write(operations)
operations = []
Любые предложения будут с благодарностью.