Java 从Spark中的文本文件创建PairedRDD
我对使用Java编码的ApacheSpark有疑问。我有 一个纯文本的示例文件,由由制表符分隔的成对文件组成。大概是这样的:Java 从Spark中的文本文件创建PairedRDD,java,apache-spark,rdd,Java,Apache Spark,Rdd,我对使用Java编码的ApacheSpark有疑问。我有 一个纯文本的示例文件,由由制表符分隔的成对文件组成。大概是这样的: ** example.txt 1 5 2 7 5 4 ** 我在网上读了一些书,他们建议用这段代码创建一个pairedd,使用行的第一列作为键,第二列作为值。所以他们使用Tuple2(来自scala) 但是我不明白为什么我看到的所有例子都是创建元组,用整行的值初始化对象。因为键只是x.split()[0]函数的[0]。而这个值似乎就是整条线 这是正确的吗?或
** example.txt
1 5
2 7
5 4
**
我在网上读了一些书,他们建议用这段代码创建一个pairedd,使用行的第一列作为键,第二列作为值。所以他们使用Tuple2(来自scala)
但是我不明白为什么我看到的所有例子都是创建元组,用整行的值初始化对象。因为键只是x.split()[0]函数的[0]。而这个值似乎就是整条线
这是正确的吗?或者我应该用x.split()[1](用于值)替换它吗
下面的代码是我在web上的许多示例源代码中找到的
PairFunction<String, String, String> keyData = new PairFunction<String, String, String>() {
public Tuple2<String, String> call(String x) {
return new Tuple2(x.split(” “)[0], x);
}
PairFunction keyData=new PairFunction(){
公共元组2调用(字符串x){
返回新的Tuple2(x.split(“”[0],x));
}
这只是一个示例。您可以返回x[1]或x。我不知道确切的上下文,但据我记忆所及,我过去在这里见过这种类型的示例
所以,你的选择,没有对错。对我来说,我假设x[1],但同样地,x[0]可以被视为一条线的键
这里的教训是:你可以同时做这两件事。从那以后,你可以减少(按键)例如,强/ >或强> > GROPYBYKEY <强> >。这是PAIRDERDD可以做的。< HermanZ >请阅读<代码> StaveJava>代码>标签,并考虑将其从帖子中删除。<代码> SpBasejava < /java >不是关于Spice的java API,而是关于与您的问题无关的框架。