Code Walkthroughs DataStream API
2021-03-09 13:27
标签:extends 卡住 ora inter rgs mvn under getting col DataStreamApi 提供了健壮,有状态的流应用,提供了细力度的控制基于状态和时间,事件驱动系统中可以高级实现。通过DataStreamApi 一步一步的向导我们可以学习到一个有状态的流应用。 通过信用卡交易监控例子,用一个简单的规则set,让我们可以看到flink是如何实现实时业务操作的。 这段代码的演示需要你具备了java 或者 scala的知识,但是你如果你有其他的编程语言能力也是可以的。 Help,I’m Stuck! 寻求帮助 如果你卡住了,可以 求助 https://flink.apache.org/gettinghelp.html 。https://flink.apache.org/community.html#mailing-lists 用户邮件列表是一个活跃快速提供帮助的地方。 有一些电脑配置: Java 8 或者 11 这里官网没有说别的 Maven 然后是构建项目:java 和 scala 各一份 $ mvn archetype:generate \ -DarchetypeGroupId=org.apache.flink \ -DarchetypeArtifactId=flink-walkthrough-datastream-java \ -DarchetypeVersion=1.10.0 \ -DgroupId=frauddetection \ -DartifactId=frauddetection \ -Dversion=0.1 \ -Dpackage=spendreport \ -DinteractiveMode=false $ mvn archetype:generate \ -DarchetypeGroupId=org.apache.flink \ -DarchetypeArtifactId=flink-walkthrough-datastream-scala \ -DarchetypeVersion=1.10.0 \ -DgroupId=frauddetection \ -DartifactId=frauddetection \ -Dversion=0.1 \ -Dpackage=spendreport \ -DinteractiveMode=false 之后代码生成了,我们直接看代码。那么如何跟进的演示代码就这样结束了。 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(); DataStreamTransaction> transactions = env .addSource(new TransactionSource()) .name("transactions"); DataStreamAlert> alerts = transactions .keyBy(Transaction::getAccountId) .process(new FraudDetector()) .name("fraud-detector"); alerts .addSink(new AlertSink()) .name("send-alerts"); env.execute("Fraud Detection"); }} FraudDetector.java 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 KeyedProcessFunctionLong, 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, CollectorAlert> collector) throws Exception { Alert alert = new Alert(); alert.setId(transaction.getAccountId()); collector.collect(alert); }} FraudDetectionJob.scala package spendreport import org.apache.flink.streaming.api.scala._import org.apache.flink.walkthrough.common.sink.AlertSinkimport org.apache.flink.walkthrough.common.entity.Alertimport org.apache.flink.walkthrough.common.entity.Transaction Code Walkthroughs DataStream API 标签:extends 卡住 ora inter rgs mvn under getting col 原文地址:https://www.cnblogs.com/hackerxiaoyon/p/12747368.html上级:https://www.cnblogs.com/hackerxiaoyon/p/12747387.html
DataStream API
What Are You Building ?
Prerequisites 前提
How to Follow Along 如何跟进
上一篇:C# 解决IE文件名乱码方法
下一篇:Windows 知识基础
文章标题:Code Walkthroughs DataStream API
文章链接:http://soscw.com/index.php/essay/62297.html