flink提供高吞吐量、低延迟的流数据引擎以及对事件-时间处理和状态管理的支持。flink应用程序在发生机器故障时具有容错能力,并且支持exactly-once语义。程序可以用java、scala[9]、python[和sql等语言编写,并自动编译和优化到在集群或云环境中运行的数据流程序。
flink并不提供自己的数据存储系统,但为amazon kinesis、apache kafka、hdfs、apache cassandra和elasticsearch等系统提供了数据源和接收器。
apache flink的数据流编程模型在有限和无限数据集上提供单次事件(event-at-a-time)处理。在基础层面,flink程序由流和转换组成。 “从概念上讲,流是一种(可能永无止境的)数据流记录,转换是一种将一个或多个流作为输入并因此产生一个或多个输出流的操作”。
apache flink包括两个核心api:用于有界或无界数据流的数据流api和用于有界数据集的数据集api。flink还提供了一个表api,它是一种类似sql的表达式语言,用于关系流和批处理,可以很容易地嵌入到flink的数据流和数据集api中。flink支持的最高级语言是sql,它在语义上类似于表api,并将程序表示为sql查询表达式。
更多apache相关知识,请访问apache使用教程栏目!
以上就是apache flink是什么的详细内容。
