我想根据 Spark 中的值列表应用过滤器。这就是我获取列表的方式:
DataFrame df = sqlContext.read().json("../sample.json");
df.groupBy("token").count().show();
Tokens = df.select("token").collect();
for(int i = 0; i < Tokens.length; i++){
System.out.println(Tokens[i].get(0)); // Need to apply filter for Token[i].get(0)
}
我想要应用过滤器的 Rdd 是这样的:
JavaRDD<String> file = context.textFile(args[0]);
我想出了一种用java过滤的方法:
private static final Function<String, Boolean> Filter =
new Function<String, Boolean>() {
@Override
public Boolean call(String s) {
return s.contains("Set");
}
};
我该怎么做?
最佳答案
也许我没有完全理解你的问题。如果你创建了一个列表,并且想使用该列表来过滤你的文件rdd,那么你是否可以不简单地使用filter
函数?
file.filter(str -> list.contains(str))
关于java - 根据 Spark 中的值列表过滤 rdd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32489057/