1.scala代码以下java
import org.apache.flink.streaming.experimental.DataStreamUtils import scala.collection.JavaConverters.asScalaIteratorConverter val myResult: DataStream[(String, Int)] = ... val myOutput: Iterator[(String, Int)] = DataStreamUtils.collect(myResult.javaStream).asScala
2.java代码以下apache
import org.apache.flink.streaming.experimental.DataStreamUtils DataStream<Tuple2<String, Integer>> myResult = ... Iterator<Tuple2<String, Integer>> myOutput = DataStreamUtils.collect(myResult)
这样就能够把DataStream转成Iterator了,其中Iterator是scala中Collection集合的最上层接口,能够经过如Iterator的toArray()、toList()等方法转成咱们所须要的全部集合。api
3.类型不匹配的问题
上面12点都是官方的代码,可是咱们用scala写DataStream的时候都是用的org.apache.flink.streaming.api.scala.DataStream包,上述代码会出现类型不匹配的问题,因此要使用org.apache.flink.streaming.api.scala.DataStreamUtils包下的scala类scala
import org.apache.flink.streaming.api.scala.DataStreamUtils val myOutput: Iterator[Center] = new DataStreamUtils(window).collect()
报错消失code