我正在对75,000个文件运行一些计算量大的操作。为了加快速度,我并行化了过程
import multiprocessing; num_cores = multiprocessing.cpu_count()-6
def ParseOneDocument(row):
## loads data
## returns a csv with important data for each iteration ("row")
with open(path+'eachletter_'+str(row)+".csv", 'w+', newline='') as myfile:
wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
# replace the above with an SQL access
results = Parallel(n_jobs=num_cores)(delayed(ParseOneDocument)(row) for row in NumberOfDocuments)
在下一步中,我收集所有创建的csv
并将其附加。这可行。但是,如果要重新运行代码并删除所有csv
的代码,将很麻烦。
理想情况下,将有一种方法可以将结果存储在SQL(?)数据库中,该数据库可以同时从并行循环的多个线程进行评估。