用Spark做去重操作


#原理很簡單:先是通過flatMap函數,把rdd進行扁平化操作,再用map函數得到(k,1)的樣式,然后再用groupByKey函數,合並value值,就相當於對key進行去重操作,再用keys()函數,取出key
 
實驗數據:delcp.txt
    hello
    hello
    world
    world
    h
    h
    h
    g
    g
    g


from pyspark import SparkContext

sc = SparkContext('local','delcp')

rdd = sc.textFile("file:///usr/local/spark/mycode/TestPackage/delcp.txt")
delp = rdd.flatMap(lambda line : line.split(" ")
).map(lambda a : (a,1)).groupByKey().keys()

delp.foreach(print)


免責聲明!

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



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