写火花代码的时候经常发现抽样没有reduceByKey的方法,这个发生在spark1.2及其以前对版本,因为抽样本身不存在reduceByKey的方法,需要隐式转换成PairRDDFunctions才能访问,因此需要引入进口org.apache.spark.SparkContext._。
不过到了spark1.3的版本后,隐式转换的放在抽样的对象中,这样就会自动被引入,不需要显式引入。
,*,Defines implicit functions that provide extra functionalities 提醒RDDs of specific 类型。 ,* For 例如,,“抽样”。“rddToPairRDDFunctions”, converts an RDD into a “PairRDDFunctions”, ,* key-value-pair 抽样,以及enabling extra functionalities such as “PairRDDFunctions”。“reduceByKey”。 */object RDD  {//才能,从而following implicit functions were 拷贝SparkContext before 1.3,以及users had //,才能“import SparkContext._”,用enable 他们只你move 我方表示歉意them here 用make 从而compiler 找到//才能,them 自动又是;然而,,still keep 我方表示歉意,old functions 拷贝SparkContext for 向后//才能,compatibility 以及forward 用,following functions 直接。 implicit 才能;def  rddToPairRDDFunctions (K, V)(抽样:抽样((K, V))) ,,,(implicit kt:, ClassTag [K], vt:, ClassTag [V],奥德:,订购[K],=, null):, PairRDDFunctions (K, V),=, { ,,,new PairRDDFunctions(抽样) 以前,,}>
至于什么是隐式转换,简单来讲就是scala偷梁换柱换柱,让隔壁老王来干你干不了的事情了。
抽样没有reduceByKey的方法