ITPub博客

首页 > 大数据 > 数据分析 > flink

flink

数据分析 作者:mcxiaoracle 时间:2022-12-09 01:10:05 0 删除 编辑

Fraud Detection with the DataStream API  #



FraudDetectionJob.java



package spendreport; 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; 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)             .process(new FraudDetector())             .name("fraud-detector");         alerts             .addSink(new AlertSink())             .name("send-alerts");         env.execute("Fraud Detection");     } }
package spendreport; import org.apache.flink.streaming.api.functions.KeyedProcessFunction; import org.apache.flink.util.Collector; import org.apache.flink.walkthrough.common.entity.Alert; import org.apache.flink.walkthrough.common.entity.Transaction; public class FraudDetector extends KeyedProcessFunction<Long, Transaction, Alert> {     private static final long serialVersionUID = 1L;     private static final double SMALL_AMOUNT = 1.00;     private static final double LARGE_AMOUNT = 500.00;     private static final long ONE_MINUTE = 60 * 1000;     @Override     public void processElement(             Transaction transaction,             Context context,             Collector<Alert> collector) throws Exception {         Alert alert = new Alert();         alert.setId(transaction.getAccountId());         collector.collect(alert);     } }



StreamExecutionEnvironment env = StreamExecutionEnvironment . getExecutionEnvironment ();


DataStream<Transaction> transactions = env     .addSource(new TransactionSource())     .name("transactions");
















来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69949806/viewspace-2927407/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 大数据Flink
下一篇: 二位无多
请登录后发表评论 登录
全部评论
数据方向,了解oracle ,IBM DB2 730

注册时间:2019-09-30

  • 博文量
    286
  • 访问量
    226589