是否可以将大量数据输入Firebase Firestore数据库中

问题描述 投票:1回答:1

我正在尝试将大量数据(1300万行)输入到Firebase Firestore中,但是要花很长时间才能完成。

当前,我正在使用python逐行插入数据,我尝试使用多行读取,但是它仍然很慢并且效率不高(我必须保持连接到Internet的状态]

所以,还有另一种将文件插入Firebase的方法(更有效的(批量)插入数据的方法)?

这是数据格式

[
{
    '010045006031': {
                        'FName':'Ahmed',
                        'LName':'Aline'
                    }
},
{
    '010045006031': {
                        'FName':'Ali',
                        'LName':'Adel'
                    }
},
{
    '010045006031': {
                        'FName':'Osama',
                        'LName':'Luay'
                    }
}

]

这是我正在使用的代码

import firebase_admin
from firebase_admin import credentials, firestore



def Insert2DB(I):
     doc_ref = db.collection('DBCoolect').document(I['M'])
     doc_ref.set({"FirstName": I['FName'], "LastName": I['LName']}


cred = credentials.Certificate("ServiceAccountKey.json")

firebase_admin.initialize_app(cred)

db = firestore.client()

List = []
#List are read from File
List.append({'M': random(),'FName':'Ahmed','LName':'Aline'})
List.append({'M': random(),'FName':'Ali','LName':'Adel'})
List.append({'M': random(),'FName':'Osama','LName':'Luay'})


for item in List:
    Insert2DB(item)

非常感谢...

python firebase google-cloud-firestore
1个回答
0
投票

Firestore不提供“批量更新”文档的任何方式。它们必须单独添加。有批量写入的功能,但是每批最多只能写入500个文档,并且不可能大幅度地加快您的处理速度。

如果要优化添加文档的速度,建议阅读documentation on best practices for read and write operationsdesigning for scale。但是,考虑到所有因素,实际上并没有“快速”方式将1300万个文档放入Firestore。您将要编写代码以分别添加每个代码。 Firestore并未针对快速写入进行优化。它针对快速读取进行了优化。

© www.soinside.com 2019 - 2024. All rights reserved.