Cuando escribimos el programa flink, usaremos Tuple. Cuando el operador ascendente use Tuple, el keyby descendente (tuple-> tuple.f0) reportará el siguiente error:
Solución: como se muestra en la figura siguiente, se deben usar clases internas anónimas y no se pueden usar métodos lambda, porque no pueden proporcionar suficiente información para la extracción automática de tipos.
.keyBy(new KeySelector<Tuple2<Tuple8<String,String,String,String,String,String,String,String>,String>, Tuple8<String,String,String,String,String,String,String,String>>() {
@Override
public Tuple8<String, String, String, String, String, String, String, String> getKey(Tuple2<Tuple8<String, String, String, String, String, String, String, String>, String> tuple) throws Exception {
return tuple.f0;
}
})