玩转Flink流批一体计算引擎

玩转Flink流批一体计算引擎,第1张

玩转Flink流批一体计算引擎

目录

Flink简介

Flink能干啥

流式分析

数据管道&ETL

事件驱动应用

Flink简介

Flink是一个优秀的流式处理引擎,不仅拥有完善的流式处理解决方案,而且将批处理视为有界流,完美实现了流批处理一体化。

Flink能干啥 流式分析

Flink可持续不断得处理事件流,并明确支持一下三种时间语义:

  • 事件时间(event time): 事件产生的时间,记录的是设备生产(或者存储)事件的时间;
  • 摄取时间(ingestion time): Flink 读取事件时记录的时间;
  • 处理时间(processing time): Flink pipeline 中具体算子处理事件的时间。

值得一提的是Flink的DataStream API和Table API & SQL均可支持这三种语义。

数据管道&ETL

Flink擅长ETL(抽取、转换、加载)管道任务,从一个或多个数据源获取数据,进行一些转换 *** 作和信息补充,并将结果存储起来。除了使用常见的DataStream API来实现这些功能之外,还可以使用Table API & SQL来实现。

事件驱动应用

通过处理函数(ProcessFunction)将事件处理与时钟(Timer)、状态(State)相结合,可以构建强大的流处理应用,从而实现逻辑复杂的事件驱动应用。

典型的事件驱动类应用有:

  1. 欺诈检测(Fraud detection)
  2. 异常检测(Anomaly detection)
  3. 基于规则的告警(Rule-based alerting)
  4. 业务流程监控(Business process monitoring)
  5. Web应用程序(社交网络)
玩转Flink

通常而言,通过Flink的Table API & SQL就可以实现常见的流式分析、数据管道&ETL和事件驱动应用。由于SQL是一种高级开发语言,开发会比DataStream API要简单很多,且可维护行较高。因此,如果再对Flink的Table API & SQL做一些抽象化封装,必然可以极大提高开发效率。基于此,flink-jobs便应运而生。

flink-jobs为基于Flink的Java应用程序提供快速集成的能力,可通过继承FlinkJobsRunner快速构建基于Java的Flink流批一体应用程序。flink-jobs提供了数据源管理模块,通过flink-jobs运行Flink SQL会变得极其简单。而通过使用flink-jobs-launcher,实现基于Java API启动flink-jobs应用程序,更可以将flink任务实现通过XML配置文件来管理。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4670593.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-06
下一篇2022-11-06

发表评论

登录后才能评论

评论列表(0条)

    保存