Java,如何在Spark中收集筛选出的值
我的输入是字符串的集合,例如:Java,如何在Spark中收集筛选出的值,java,filter,apache-spark,Java,Filter,Apache Spark,我的输入是字符串的集合,例如: Chicago Washington Seattle San Francisco Chicago Newyork Dallas 我有以下过滤掉某些值的代码: List<String> filteredValues = new ArrayList<String>(); JavaRDD<String> filteredOutput = inputText.filter(line -> {
Chicago
Washington
Seattle
San Francisco
Chicago
Newyork
Dallas
我有以下过滤掉某些值的代码:
List<String> filteredValues = new ArrayList<String>();
JavaRDD<String> filteredOutput = inputText.filter(line -> {
if(line.toLowerCase().contains("chicago")) {
filteredValues.add(line);
return false;
}
return true;
});
System.out.println("Filtered values are" + filteredValues.toString());
}
}
List filteredValues=new ArrayList();
JavaRDD filteredOutput=inputText.filter(行->{
if(line.toLowerCase().contains(“芝加哥”)){
filteredValues.add(行);
返回false;
}
返回true;
});
System.out.println(“过滤值为”+filteredValues.toString());
}
}
我希望“filteredValues”列表包含[芝加哥,芝加哥]。
但它是空的。有人能帮帮我吗 Spark功能更强大,因此更新变量不起作用。*您应该使用
过滤器的输出
并调用收集
此外,如果要保留项目,则需要返回true。看来你把这个倒过来了
*闭合变量将复制到每个辅助对象。因此,更新仅为本地工作副本 是的,我做到了。以前的。其内容为除“芝加哥”以外的所有值。所以它成功了。但名单仍然是empty@Vikram在Spark中阅读这篇文章。在你尝试做的事情中有一个功能中断。谢谢你,贾斯汀。但是,按照你的建议,如果我打电话给收藏家(),我所知道的一切都是我所知道的[华盛顿,西雅图,旧金山,Newyork,达拉斯]。如何获取在此过程中过滤掉的值?假设我需要一个筛选出的值列表[Chicago,Chicago]。更新了我的答案。你的过滤器是落后的贾斯汀。。但我的要求是,我想把过滤的和未过滤的分开,并保存它们。一个是rdd格式,另一个是列表