基於pyspark的mapreduce實現


假設有數據量T級名為data的RDD,需要做一些列動作,一般需要使用map-reduce,其中map階段可以使用def函數或者lambda形式,返回新的RDD,reduce可以起到累加作用,例:

 1 from pyspark import SparkConf
 2 conf = SparkConf().setAppName('test')
 3 try:
 4     sc.stop()
 5 except:
 6     pass
 7 sc = SparkContext(conf = conf)
 8 
 9 data = ["hello", "world", "hello", "world"]
10 
11 rdd = sc.parallelize(data)
12 res_rdd = rdd.map(lambda word: (word, 1)).reduceByKey(lambda a, b: a + b)
13 
14 res_rdd.first()
View Code

附常見操作API,map()對每一條rdd進行並行操作,reduce()、reduceByKey()計數,filter()過濾,join()、union()等


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM