Apache Flink 提供了多种过滤函数,可以用于对数据流进行过滤操作。以下是一个示例代码,演示如何使用过滤函数筛选出满足条件的数据:
import org.apache.flink.api.common.functions.FilterFunction;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
public class FilterFunctionExample {
public static void main(String[] args) throws Exception {
// 创建执行环境
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
// 创建数据流
DataStream dataStream = env.fromElements(
"Apache Flink",
"Flink is powerful",
"Filter function example");
// 使用过滤函数筛选出包含 "Flink" 关键字的数据
DataStream filteredStream = dataStream.filter(new FilterFunction() {
@Override
public boolean filter(String value) throws Exception {
return value.contains("Flink");
}
});
// 打印筛选后的结果
filteredStream.print();
// 执行任务
env.execute("Filter Function Example");
}
}
在这个示例中,我们创建了一个数据流 dataStream
,其中包含了三个字符串元素。然后我们使用 filter()
方法对数据流进行过滤,通过实现 FilterFunction
接口来自定义过滤条件。在这个例子中,我们筛选出包含 "Flink" 关键字的数据。最后,我们使用 print()
方法将筛选后的结果打印出来,并执行任务。
你可以根据自己的需求,修改过滤条件和数据源来适应你的应用场景。