(九)算法工程师遇上大数据-Flink

本文详细介绍了Apache Flink,一个用于处理流数据和批数据的分布式引擎。Flink以流处理为核心,强调批处理是流处理的特例。文章涵盖Flink的特点、流式数据处理、分层API设计,特别是DataStreamAPI的使用,并提供了入门实例。此外,还提及了Flink的高可用性、扩展性和其在实际应用中的强大功能。
摘要由CSDN通过智能技术生成

系列文章目录

(一)算法工程师遇上大数据-Scala
(二)算法工程师遇上大数据-Hadoop
(三)算法工程师遇上大数据-Hive
(四)算法工程师遇上大数据-Zookeepr
(五)算法工程师遇上大数据-Flume
(六)算法工程师遇上大数据-Strom
(七)算法工程师遇上大数据-Kafka
(八)算法工程师遇上大数据-Spark
(九)算法工程师遇上大数据-Flink



在这里插入图片描述

前言

本文介绍一下流处理框架Flink。

一、介绍

       Flink 是一个针对流数据和批数据的分布式处理引擎。它主要是由 Java 代码实现。目前主要还是依靠开源社区的贡献而发展。对 Flink 而言,其所要处理的主要场景就是流数据,批数据只是流数据的一个极限特例而已。再换句话说,Flink 会把所有任务当成流来处理,这也是其最大的特点。Flink 可以支持本地的快速迭代,以及一些环形的迭代任务。

二、快速入门

1.特点

在这里插入图片描述

2.流式数据处理

(1)处理无界和有界数据
在这里插入图片描述
(2)充分利用内存性能
在这里插入图片描述

3.分层API设计

(1)分层API
在这里插入图片描述
(2)DataStream API(重点)

4.抽象例子

(1)事件驱动
在这里插入图片描述
(2)数据分析
在这里插入图片描述

(3)数据管道
在这里插入图片描述

5.具体例子

在这里插入图片描述

        每个 Flink 应用都需要有执行环境,在该示例中为 env。流式应用需要用到StreamExecutionEnvironment。DataStream API 将你的应用构建为一个 job graph,并附加到 StreamExecutionEnvironment 。当调用 env.execute() 时此 graph 就被打包并发送到 JobManager 上,后者对作业并行处理并将其子任务分发给 Task Manager 来执行。每个作业的并行子任务将在 task slot 中执行。注意,如果没有调用 execute(),应用就不会运行。

        一个JobManager对应多个TaskManager,一个TaskManager对多个Slot,Slot是最小计算单元。

6.开发文档

(1)Flink开发文档
(2)DataStream API
(3)Flink开发步骤:> 配置本地/服务器环境 > 熟悉DataStream API >实践


三、总结

        Apache Flink 功能强大,支持开发和运行多种不同种类的应用程序。它的主要特性包括:批流一体化、精密的状态管理、事件时间支持以及精确一次的状态一致性保障等。Flink 不仅可以运行在包括 YARN、 Mesos、Kubernetes 在内的多种资源管理框架上,还支持在裸机集群上独立部署。在启用高可用选项的情况下,它不存在单点失效问题。事实证明,Flink 已经可以扩展到数千核心,其状态可以达到 TB 级别,且仍能保持高吞吐、低延迟的特性。世界各地有很多要求严苛的流处理应用都运行在 Flink 之上。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值