Flink 入门案例
具有一定实际意义的流处理程序。
结合信用卡欺诈验证场景,实现的具体Demo。
- 定义程序数据流
package com.sanxiau;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.walkthrough.common.sink.AlertSink;
import org.apache.flink.walkthrough.common.entity.Alert;
import org.apache.flink.walkthrough.common.entity.Transaction;
import org.apache.flink.walkthrough.common.source.TransactionSource;
/**
* 定义了程序的数据流
*
* Skeleton code for the datastream walkthrough
*/
public class FraudDetectionJob {
public static void main(String[] args) throws Exception {
// 设置执行环境。 任务执行环境用于定义任务的属性、创建数据源以及最终启动任务的执行。
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
// 创建数据源 官方案例中存在数据
DataStream<Transaction> transactions = env
.addSource(new TransactionSource())
.name("transactions");
// 对事件分区 & 欺诈检测
DataStream<Alert> alerts = transactions
.keyBy(Transaction::getAccountId