这是我的问题。我正在尝试将一个大的 csv 文件上传到 cosmos db (~14gb),但我发现很难最大化我支付的吞吐量。在 azure 门户指标概述 UI 上,当我支付 16600 RU/s 时,它说我使用 73 RU/s。现在,我正在使用 pymongo 的批量写入功能上传到数据库,但我发现任何大于 5 的 bulk_write 长度都会引发硬Request rate is large.
异常。我做错了吗?在这种情况下有没有更有效的上传数据的方法?Internet 带宽可能不是问题,因为我正在从 azure vm 上传到 cosmos 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 = []
任何建议将不胜感激。