寫Spark代碼的時候經(jīng)常發(fā)現(xiàn)rdd沒有reduceByKey的方法,這個發(fā)生在spark1.2及其以前對版本,因為rdd本身不存在reduceByKey的方法,需要隱式轉(zhuǎn)換成PairRDDFunctions才能訪問,因此需要引入Import org.apache.spark.SparkContext._。
創(chuàng)新互聯(lián)2013年至今,先為寧陵等服務(wù)建站,寧陵等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為寧陵企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
不過到了spark1.3的版本后,隱式轉(zhuǎn)換的放在rdd的object中,這樣就會自動被引入,不需要顯式引入。
* Defines implicit functions that provide extra functionalities on RDDs of specific types. * For example, `RDD`.`rddToPairRDDFunctions` converts an RDD into a `PairRDDFunctions` for * key-value-pair RDDs, and enabling extra functionalities such as `PairRDDFunctions`.`reduceByKey`. */ object RDD { // The following implicit functions were in SparkContext before 1.3 and users had to // `import SparkContext._` to enable them. Now we move them here to make the compiler find // them automatically. However, we still keep the old functions in SparkContext for backward // compatibility and forward to the following functions directly. implicit def rddToPairRDDFunctions[K, V](rdd: RDD[(K, V)]) (implicit kt: ClassTag[K], vt: ClassTag[V], ord: Ordering[K] = null): PairRDDFunctions[K, V] = { new PairRDDFunctions(rdd) }
至于什么是隱式轉(zhuǎn)換,簡單來講就是scala偷梁換柱換柱,讓隔壁老王來干你干不了的事情了。
分享標(biāo)題:rdd沒有reduceByKey的方法
標(biāo)題路徑:http://muchs.cn/article8/gedhop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、營銷型網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司、ChatGPT、網(wǎng)站設(shè)計、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)