scala – reduceByKey(_ _)是什么意思
发布时间:2020-12-16 09:57:04 所属栏目:安全 来源:网络整理
导读:最近我有一个场景将数据存储在keyValue对中,并遇到了函数reduceByKey(_ _).这更像是速记语法.我无法理解这实际意味着什么. 例如:reduceBykey(_ _)表示reduceByKey((a,b)=(a b)) 所以reduceByKey(_ _)意味着?? 我可以使用reduceByKey(_ _)从数据中创建Key值
最近我有一个场景将数据存储在keyValue对中,并遇到了函数reduceByKey(_ _).这更像是速记语法.我无法理解这实际意味着什么.
例如:reduceBykey(_ _)表示reduceByKey((a,b)=>(a b)) 所以reduceByKey(_ _)意味着?? 我可以使用reduceByKey(_ _)从数据中创建Key值对. val y = sc.textFile("file:///root/My_Spark_learning/reduced.txt") y.map(value=>value.split(",")) .map(value=>(value(0),value(1),value(2))) .collect .foreach(println) (1,2,3) (1,3,4) (4,5,6) (7,8,9) y.map(value=>value.split(",Seq(value(1),value(2)))) .reduceByKey(_ ++ _) .collect .foreach(println) (1,List(2,4)) (4,List(5,6)) (7,List(8,9)) 解决方法
reduceByKey(_ _)转换为reduceByKey((a,b)=> a b).
???是在List上定义的method,它将另一个列表连接到它. 因此,对于样本数据中的密钥1,a将是List(2,3),b将是List(3,4),因此List(2,3)和List(3,4)的串联(List( 2,3)清单(3,4))将产生清单(2,4). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |