[英]Lambda expressions with Java and Spark
此代碼中帶有.filter()的部分,
JavaPairRDD<Integer, ?> vals = sc
.parallelize(Arrays.asList(10, 15, 0))
.zipWithIndex();
JavaPairRDD<Integer, ?> valsGreaterThan5 = vals
.filter((k, v) -> v > 5)
.map((k, v) -> k);
給我一個
Lambda表達式的簽名與功能接口方法調用(Tuple2)的簽名不匹配
錯誤。 我不明白 我什至沒有在類型中使用Tuple2。 錯誤的原因是什么,如何解決?
map
或filter
僅獲得一個Tuple2
類型的Tuple2
。 無法以這種方式對其進行重組。 您可以:
JavaPairRDD<Integer, ?> valsGreaterThan5 = vals
.filter(kv -> v._2 > 5)
.map(kv -> k._1);
或更好:
JavaPairRDD<Integer, ?> valsGreaterThan5 = vals
.filter(kv -> v._2 > 5)
.keys();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.