Java 迭代器<;字符串>;重新设置生成路径后不接受
我有一个Spark流媒体应用程序,我重新设置了构建路径,以使其更干净。 在重新导入所有jar文件后,我遇到了一个以前从未遇到过的错误: 怎么可能呢?我怎样才能解决这个问题Java 迭代器<;字符串>;重新设置生成路径后不接受,java,apache-spark,spark-streaming,buildpath,Java,Apache Spark,Spark Streaming,Buildpath,我有一个Spark流媒体应用程序,我重新设置了构建路径,以使其更干净。 在重新导入所有jar文件后,我遇到了一个以前从未遇到过的错误: 怎么可能呢?我怎样才能解决这个问题 static FlatMapFunction<Tuple2<String, String>, String> sentimentFunc = new FlatMapFunction<Tuple2<String, String>, String>(){ privat
static FlatMapFunction<Tuple2<String, String>, String> sentimentFunc = new FlatMapFunction<Tuple2<String, String>, String>(){
private static final long serialVersionUID = 1L;
@Override
public Iterator<String> call(Tuple2<String, String> x) throws Exception {
List<String> output = new ArrayList<String>();
if(x._2==null){
output.add("ERR");
return output.iterator();
}
boolean like = false, sad = false, angry = false, hilarious = false, neutral = false;
boolean [] sentiments = {like, angry, sad, hilarious, neutral};
sentiments = checkEmojis(x, sentiments);
if(checkSentiment(sentiments)){
output.add(setSentiment(sentiments));
return output.iterator();
}
sentiments = checkText(x, sentiments);
output.add(setSentiment(sentiments));
return output.iterator();
}
};
static FlatMapFunction mountainfunc=new FlatMapFunction(){
私有静态最终长serialVersionUID=1L;
@凌驾
公共迭代器调用(Tuple2 x)引发异常{
列表输出=新的ArrayList();
如果(x._2==null){
输出。添加(“错误”);
返回output.iterator();
}
布尔类=假,悲伤=假,愤怒=假,欢闹=假,中性=假;
布尔[]情绪={喜欢、愤怒、悲伤、欢闹、中立};
情绪=支票表情(x,情绪);
如果(情绪){
输出。添加(设置元素(情感));
返回output.iterator();
}
情绪=检查文本(x,情绪);
输出。添加(设置元素(情感));
返回output.iterator();
}
};
在Spark 1.x中,for的调用的返回类型为Iterable
在Spark 2.x中,for的调用
的返回类型已更改为迭代器
似乎在重置构建路径时,将其改为指向spark 1.x而不是2.x,从而使所有平面图函数无效。在spark 1.x中,for的调用
的返回类型为Iterable
在Spark 2.x中,for的调用
的返回类型已更改为迭代器
似乎在重置生成路径时,将其改为指向spark 1.x而不是2.x,从而使所有flatmap函数无效。方法签名和方法中的“return”语句之间存在不兼容。但你没有展示后者所以。。。另外,请将代码粘贴为文本,而不是图像。好的,我已经更新了问题。代码在五分钟前运行良好,因此我不认为有可能出现不兼容的错误,现在是正确的错误。方法签名和方法中的“return”语句之间存在不兼容。但你没有展示后者所以。。。另外,请将代码粘贴为文本,而不是图像。好的,我已经更新了问题。代码在五分钟前还可以正常工作,所以我不认为有可能出现不兼容的错误,现在才是正确的错误。我也遇到了同样的问题:更改pom是不够的。我怎样才能解决这个问题?我也有同样的问题:仅仅改变pom是不够的。我怎样才能解决这个问题?