1 4 map實現並行處理方法

2021-06-28 00:36:04 字數 1044 閱讀 4526

python**  

import multiprocessing  

import time  

def f(x):  

time.sleep(2)  

print x  

if __name__ == '__main__':   

pool = multiprocessing.pool(processes=5)   

pool.map(f, xrange(10))  

介紹:map

map是乙個很棒的小功能,同時它也是python並行**快速執行的關鍵。給不熟悉的人講解一下吧,map是從函式語言lisp來的。map函式能夠按序對映出另乙個函式。例如

1urls=['','']

2results=map(urllib2.urlopen, urls)

這裡呼叫urlopen方法來把呼叫結果全部按序返回並儲存到乙個列表裡。就像:

1results=

2forurlinurls:

3

map按序處理這些迭代。呼叫這個函式,它就會返回給我們乙個按序儲存著結果的簡易列表。

為什麼它這麼厲害呢?因為只要有了合適的庫,map能使並行執行得十分流暢!

ps  可以用lambda實現簡單的列表構造,比如  a = map(lambda x : x+2, [1,2,3,4,5])      ,不過時間是列表解析的兩倍,效能不好  

衍生的 多執行緒中使用map的例子:

ES學習筆記 14 map資料結構

map是一種靈活,簡單的適合一對一查詢的資料結構 json反應的速度要低於陣列和map結構。而且map的靈活性要更好 map的key可以設定成陣列,值也可以設定成字串,讓它不規律對應起來 取值get let json var map new map map.set iam json console....

lzo檔案的並行map處理

hadoop集群中啟用了lzo後,還需要一些配置,才能使集群能夠對單個的lzo檔案進行並行的map操作,以提公升job的執行速度。首先,要為lzo檔案建立index。下面的命令對某個目錄裡的lzo檔案建立index hadoop home bin hadoop jar hadoop home lib...

基於Hadoop實現通用的並行任務處理

利用 hadoop 雲技術框架實現通用的並行任務處理功能,將原本只是單機程式改造成最終執行在 hadoop 雲平台裡。l 優點 1.分布並行執行 基於 mapreduce 及dfs 分布式檔案系統 實現了分布並行執行,可實現乙個 nosplitinputformat 類用於支援單個 map任務執行。...