1 引入问题:曾经想过用分布式来处理,但是似乎并不需要那么麻烦,使用Python 数据库连接池与Python 进程池,同时对数据的读取与处理。
这里就不赘述连接池怎么建立了,主要是Python 进程池 ,首先python3.x 以上已经有了Mulyiprocessing ,别像博主一样还Pip install 一样。
废话不多说 直接上主程序代码
test01=['TAXI_LOG_20140401','TAXI_LOG_20140402','TAXI_LOG_20140403']
test02=['TAXI_LOG_20140404','TAXI_LOG_20140405','TAXI_LOG_20140406']
test03=['TAXI_LOG_20140407','TAXI_LOG_20140408','TAXI_LOG_20140409']
test04=['TAXI_LOG_20140410','TAXI_LOG_20140412']
test05=['TAXI_LOG_20140413']
# z=odMod(0,4,test)
# z.commitResult()
w1=odMod(1,100,test01)
w2=odMod(1,100,test02)
w3=odMod(1,22,test03)
w4=odMod(1,22,test04)
w5=odMod(1,22,test05)
pool=Pool(processes=5)
pool.apply_async(w1.commitResult)
pool.apply_async(w2.commitResult)
pool.apply_async(w3.commitResult)
pool.apply_async(w4.commitResult)
pool.apply_async(w5.commitResult)
pool.close()
pool.join()
这里就开了五个进程 ,划重点, 后面的pool.close 和 pool.join 必须加入 不然跑不起来
运行结果图