neu*_*use 5 java scala apache-spark
我正在尝试将此Scala表达式转换为Java:
val corpus: RDD[String] = sc.wholeTextFiles("docs/*.md").map(_._2)
Run Code Online (Sandbox Code Playgroud)
这就是我在Java中所拥有的:
RDD<String> corpus = sc.wholeTextFiles("docs/*.md").map(a -> a._2);
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误a._2:.

如果我采用"超级"方法,这就是我所看到的:
package org.apache.spark.api.java.function;
import java.io.Serializable;
public interface Function<T1, R> extends Serializable {
R call(T1 var1) throws Exception;
}
Run Code Online (Sandbox Code Playgroud)
在斯卡拉PairRDD是一个元组类型,您可以访问其成员_1和_2.但是,Java没有内置元组,因此您必须使用方法来获取这些成员.它看起来应该是这样的,因为Java总是需要在任何函数上使用括号.
JavaRDD<String> corpus = sc.wholeTextFiles("docs/*.md").map(a -> a._2());
Run Code Online (Sandbox Code Playgroud)
编辑:似乎在Scala中将一个隐式参数传递给该map方法,这意味着您必须在Java中显式传递它.请参阅此处获取Java Doc以及此处的Scala文档.
编辑2:经过几个小时的摸索,找到了答案,它必须是JavaRDD.
| 归档时间: |
|
| 查看次数: |
263 次 |
| 最近记录: |