大数据系列——什么是Flink?Flink有什么用途?

news2024/12/24 10:09:11

目录

一、基本概念

批与流

数据可以作为无界流或有界流处理

二、什么是Flink?

三、Flink有什么用途?

四、适用场景

五、flink事件驱动

六、flink拥有分层API

flink sql

 七、fllink企业级使用


一、基本概念

批与流

批处理的特点是有界、持久、大量,非常适合需要访问全套记录才能完成的计算工作,一般用于离线统计。

流处理的特点是无界、实时, 无需针对整个数据集执行操作,而是对通过系统传输的每个数据项执行操作,一般用于实时统计。

数据可以作为无界流或有界流处理

无界流有一个起点,但没有定义的终点。它们不会终止并在生成数据时提供数据,无界流必须被连续处理,即事件在被摄取后必须被及时处理。处理无边界数据通常需要以特定顺序(例如事件发生的顺序)来摄取事件,一遍能够推断出结果的完整性。

有界流具有定义的开始和结束。可以通过在执行任何计算之前提取所有数据来处理有界流。由于有界数据始终可以排序,因此不需要有序摄取即可处理有界流。绑定流的处理也被称为批处理。

二、什么是Flink?

Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。

Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算。

支持高吞吐、低延迟(每秒处理百万个事件)、高性能的分布式处理框架。

三、Flink有什么用途?

flink作为实时流处理平台,可以与kafka很好地结合。

  • 与kafka的结合,可以让flink作为生产者,不断的向kafka消息队列中产生消息
  •  还有一种情况,让flink作为kafka的消费者,读取消息队列中的消息,然后做处理。

四、适用场景

        在实际生产的过程中,大量数据在不断地产生,例如金融交易数据、订单数据等,以及我们熟悉的网络流量监控、服务器产生的日志数据,这些数据最大的共同点就是实时从不同的数据源中产生,然后再传输到下游的分析系统。

五、flink事件驱动

参考:来源

  • 传统型事务应用程序处理流程:一个事件通过后台应用程序处理,通过读写数据库,将结果返回给用户。
  • 事件驱动处理过程:通过收集事件日志,摄入到flink应用中,通过一个本地状态而不去查询关系型数据库,本地状态为了保证稳定性,还可以将状态存到一个持久性存储中,最终通过计算,将结果保存到持久存储或者发送给下游应用使用

六、flink拥有分层API

High-level language:高级语言,即使用高级语义描述计算
Declarative DSL:声明式DSL
core APIs:核心API
Stateful Stream Processing:有状态的流处理
low-level building block:低级api,构建块

flink sql

可以对流数据进行类似表一样的处理,可以实现大部分DataStream API和DataSet API的功能;

 七、fllink企业级使用

  •  一般会再flink上有自己的封装,如 快手的实时开发平台(KwaiStream),基于Apache Flink 构建的、一站式、高性能实时数据处理平台,用于处理各类流式数据的业务场景。

  • 业务实际使用上,产品常见使用场景包括:

1)数据流拆分、基础数据清洗

2)PV、UV类型的实时业务统计

3)日志实时分析、操作行为等实时监控&报警

4)与多种数据源类型打通,可以将实时处理后的数据直接落地到OLAP、ES等,供后续业务方使用

5)将各类数据源定为逻辑表(如Redis/Kafka、MySQL),通过使用SQL对逻辑表进行加工处理即可完成对底层数据源的读写操作,使用更加便捷.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/126254.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

被误认为是外国人开发的4款软件,功能强大到离谱,且用且珍惜

国外的月亮不一定比国内圆,随着国内互联网飞速发展,国内研发出许多实用又良心的软件,由于偏见,功能强大的它们却被误认为是外国佬研发的。 1、Foxit PDF用系统自带的Adobe实在难用,Foxit这款PDF阅读器实在太强大&#…

unity使用RenderTexture可以渲染粒子特效

一,使用UIRawImage,创建材质球,把Shader给材质球,放到RawImage的Material上, // Upgrade NOTE: replaced mul(UNITY_MATRIX_MVP,*) with UnityObjectToClipPos(*)Shader "UI/Default No-Alpha" {Properties{[PerRende…

基于文本和图像的网络舆情分析方法研究

基于文本和图像的网络舆情分析方法研究 一、舆情分析技术 (1)舆情数据采集与提取技术; (2)自动文摘技术; (3)事件发现与追踪技术; (4)舆情情感分…

【虚幻引擎UE】UE5 模型描边的三个方法

一、后期处理法 1、创建描边材质,方法很多种,主要有设置深度、法线描边等 可以参考现有文章制作或直接下载材质资源使用。 参考文章: 1、【UE4】几种后处理描边的方法,效果及效率 2、UE4之物体描边 3、【UE4_001】后期处理轮廓…

第002课 - 项目整体效果展示

文章目录 基础篇高级篇流量控制:alibaba sentinel注册中心链路追踪高可用集群篇CICD这个章节是进行项目效果的演示。 基础篇 第一个就是基础篇。 这是我们的后台管理系统。 围绕电商的管理系统做一个整套的增删改查逻辑。 这个商品系统都会教给大家来编写的。 这个是使用前…

网站报错:PHP Fatal error: Allowed memory size of 134217728 bytes exhausted的处理方法

原因分析 内存已耗尽,这关系到PHP的memory_limit的设置问题,根据自己的需要及参考本机的内存大小修改php内存限制。 解决方案 1、修改php.ini (改配置) memory_limit 128 这种方法需要重启服务器,很显然&#xff0c…

向Linux内核添加驱动的步骤详解

1、获取驱动源码 (1)驱动源码一般都是从设备厂商处获取; (2)设备厂商给的驱动源码大体上是没有问题的,能加载但是效果不一定好,需要根据自己的板子进行适配; 2、驱动在内核中的两种形式 (1)直接编译进内核:内核启动时自…

ubuntu下编译opencv

目录 1. 下载opencv和opencv-contrib 2. 安装依赖 3. cmake 4. make 5. 安装 6. 配置opencv的路径 7. 测试 后续 1. 下载opencv和opencv-contrib https://github.com/opencv/opencv/archive/refs/tags/4.6.0.zip https://github.com/opencv/opencv_contrib/archive/re…

python两种方式实现读写航拍影像JPG图片的GPS坐标

写入坐标效果 读取坐标效果 1、写入JPG坐标数据 1.1、准备数据 gps坐标文件 图片 可以查看它的属性中目前并没有坐标信息 1.2、执行脚本 第一种方法(piexif) writegps2jpg_piexif.py import csv,os import

KubeEdge云原生边缘计算公开课04——云原生边缘计算学术研究现状与趋势

KubeEdge云原生边缘计算公开课04——云原生边缘计算学术研究现状与趋势Ding Yin & 徐飞:KubeEdge架构与技术解读1. 边缘计算的形态定义与关键挑战2. 云原生边缘计算的优势与挑战3. KubeEdge核心架构4. KubeEdge关键技术5. KubeEdge社区介绍Ding Yin & 徐飞&…

JavaSE笔记——流式编程

文章目录前言一、从外部迭代到内部迭代二、实现机制三、常用的流操作1.collect(toList())2.map3.filter4.flatMap5.max和min6.reduce四、多次调用流操作五、高阶函数总结前言 流是一系列与特定存储机制无关的元素——实际上,流并没有 “存储” 之说。利用流&#x…

火山引擎 DataTester:如何做 A/B 实验的假设检验作者:字节跳动数据平台

A/B 实验的核心统计学理论是(双样本)假设检验,是用来判断样本与样本、样本与总体的差异是由 抽样误差 引起还是 本质差别 造成的一种统计推断方法。 假设检验,顾名思义,是一种对自己做出的假设进行数据验证的过程。通…

STM32CUBEMX_SDIO和FATFS_读写SD卡

STM32CUBEMX_SDIO和FATFS_读写SD卡 简述 FATFS是一个完全免费开源,专为小型嵌入式系统设计的FAT(File Allocation Table)文件系统模块。FATFS的编写遵循ANSI C,并且完全与磁盘I/O层分开。支持FAT12/FAT16/FAT32,支持多…

Django入门

Django 中文官网:初识 Django | Django 文档 | Django (djangoproject.com) Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。 使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部…

Python 学习笔记001-发布

Python 学习笔记001-发布Python如何发布为EXE文件发给别人装X0 我的开发环境Step 1 安装PyInstaller包Step2 打包Python文件Step 3 运行Python程序Step 4 最后附上Atm.py的代码Python如何发布为EXE文件发给别人装X 0 我的开发环境 Python : 3.10 PyCharm:2022.03 社区版 Ste…

VIAVI唯亚威光纤高分辨率多模 OTDR 测试方案

VIAVI Solutions 高分辨率多模 OTDR 测试方案设计用于飞机、宇宙飞船、潜艇和舰船中部署的超短多模光纤的特性分析和故障定位 高分辨率多模 OTDR 测试方案是业界紧凑、轻巧的便携装置。它的用户界面经过专门设计,简化了 OTDR 测试和结果读取。 特点 紧凑、轻巧、现…

Oracle --- 视图 索引 语法结构

目录 视图 概念 优点 创建视图 查看视图 ​修改视图 删除视图 索引 概念 分类 普通索引 唯一索引 复合索引 反向键索引 位图索引 存储函数 概念 语法结构 视图 概念 视图 是一种数据库对象,是从 一个或者多个 数据表或视图中导出的 虚表。 视图所…

C#,图像二值化(07)——全局阈值的迭代算法及其源代码

1、 全局阈值的迭代算法 图像阈值分割---迭代算法 (1) 为全局阈值选择一个初始估计值T(图像的平均灰度)。 (2) 用T分割图像。产生两组像素:G1有灰度值大于T的像素组成,G2有小于等于T像素组成。 (3) 计算G1和G2像素的平均灰度值m1和m2; (4) …

机器学习笔记之Sigmoid信念网络(二)醒眠算法

机器学习笔记之Sigmoid信念网络——醒眠算法引言回顾Sigmoid\text{Sigmoid}Sigmoid信念网络的模型表示Sigmoid\text{Sigmoid}Sigmoid信念网络——对数似然梯度求解过程中的问题醒眠算法基于平均场假设变分推断求解后验概率平均场理论求解后验的弊端醒眠算法引言 上一节介绍了对…

jsp+servlet+mysql实现的在线图书商城源码附带论文开题报告及视频指导教程

今天给大家演示的是一款由jspservletmysql实现的在线图书商城系统,主要分为前台后后台管理员功能,前台用户可以浏览查看各类图书信息,可自定义搜索,注册登录后可以将书添加到购物车,购物车中的商品可以提交订单&#x…