今天介绍一下 Flink。在介绍之前,提一下实时和离线的选择问题。目前公司里面离线和实时是由不同的团队来做,泾渭分明,不会一个人既做离线又做实时。在离线中又有细分,某些人做 ods,某些人做 dwd,某些人做 dws,某些人做 app。再细分到每个人,某个人做 app 的视频,某个人做 app 的直播等等。据我观察,离线与实时的比例大概是 4 : 1,离线还是大头。所以想找工作的可以尽早想清楚做哪一块,想找离线的工作就使劲怼 Hive、Spark,想找实时的工作就使劲怼 Flink。简历上也要准备一个与所找工作的方向相关项目。
下面还是学习一下官网的介绍。
Apache Flink® — Stateful Computations over Data Streams
Apache Flink® — 基于数据流的状态计算。
All streaming use cases
Event-driven Applications
Stream & Batch Analytics
Data Pipelines & ETL
流式用例:事件驱动的应用程序,流和批处理分析,数据管道和 ETL
Guaranteed correctness
Exactly-once state consistency
Event-time processing
Sophisticated late data handling
保证正确性:精确一次的状态一致性,事件时间处理,复杂的延迟数据处理
Layered APIs
SQL on Stream & Batch Data
DataStream API & DataSet API
ProcessFunction (Time & State)
分层 API:流处理和批处理数据上的 SQL,数据流 API 和数据集 API,时间和状态函数
Operational Focus
Flexible deployment
High-availability setup
Savepoints
运营重点:灵活部署,高可用性设置,保存点
Scales to any use case
Scale-out architecture
Support for very large state
Incremental checkpointing
扩展到任何用例:横向扩展架构,支持非常大的状态,增量检查点
Excellent Performance
Low latency
High throughput
In-Memory computing
完美的表现:低延迟,高吞吐量,内存计算
What is Apache Flink?
Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. Flink has been designed to run in all common cluster environments, perform computations at in-memory speed and at any scale.
Apache Flink 是一个用于对无界和有界数据流进行状态计算的框架和分布式处理引擎。 Flink 可以在所有常见的集群环境中运行,以内存的速度、在任何规模执行计算。
欢迎点击此处关注公众号。