如何在Scala中应用Flink的简单过滤器

时间:2017-03-01 16:53:10

标签: scala filter apache-flink flink-streaming

我使用的是旧版Flink。我升级到1.2.0,我有一些过滤器问题。

我有一个Log的DataStream工作得很好:

 val logs: DataStream[Log] = env.addSource(new LogSource(
      data, delay, factor))

 // DISPLAY TUPLE IN CONSOLE
 logs.print()

 // EXECUTE SCRIPT
 env.execute("stream")

我当然阅读了显示的文档:

dataStream.filter { _ != 0 }

我尝试了很多这样的事情:

val cleanLogs = logs.filter { _.isComplete }

但是我收到了以下错误:

  

类型不匹配,预期:FilterFunction [Log],actual:(Any)=>一个

所以我没有看到文档和此错误之间的链接。 有帮助吗?例子?

由于

1 个答案:

答案 0 :(得分:1)

问题首先是导致StreamExecutionEnvironment的错误,导致filter等基本功能出现此问题。

然后,当我使用旧版本的Flink时,我使用的是LocalExecutionEnvironment类,这在Flink 1.X中已不再可用。

相反:StreamExecutionEnvironment.createLocalEnvironment(1)