我的应用程序需要定期处理数据。应用程序需要处理新数据,然后将其与旧数据合并。数据可能有数十亿行,其中只有两列,第一列是行名,第二列是值。以下是示例:
a00001,12
a00002,2321
a00003,234
新数据可能具有新的行名或旧的行名。我要合并它们。因此,在每个处理过程中,我都需要读取旧的大数据文件并将其与新文件合并。然后,我将新数据写入新文件。
我发现最耗时的过程是读取和写入数据。我尝试了几种数据I / O方式。
还有其他任何数据I / O格式或包可以在python中有效地加载和写入大数据吗?
答案 0 :(得分:1)
如果数据量如此之大,尝试减少必须读写的数据量可能会更快。
您可以将数据分散在多个文件中,而不是全部保存在一个文件中。 在处理新数据时,请检查必须合并哪些旧数据,然后仅读取和写入这些特定文件。
您的数据有两行:
name1, data1
name2, data2
包含旧数据的文件:
db_1.dat, db_2.dat, db_3.dat
name_1: data_1 name_1001: data_1001 name_2001: data_2001
. . .
. . .
. . .
name_1000: data_1000 name_2000: data_2000 name_3000: data_3000
现在,您可以检查需要合并哪些数据,而只需读写包含该数据的特定文件即可。
不确定要实现的目标是否允许像这样的系统,但是由于要处理的数据较少,因此可以加快处理速度。
答案 1 :(得分:0)