Flink入门(一)

整体框架

  1. Flink概述
  2. Flink上手部署
  3. Flink架构
  4. DataStream API(算子)
  5. Flink中的时间和窗口:窗口就是范围
  6. 处理函数:底层函数
  7. 状态管理:
  8. 容错机制:报错重启后能够从出错的位置继续执行
  9. FlinkSQL:功能逐步完善

基于数据流的有状态计算

  1. 正确性保证
    • 精确一次(Exactly-once)状态一致性
    • 事件时间处理
    • 成熟的迟到数据处理
  2. 分层API:底层处理函数、java API、Flink SQL
  3. 聚焦运维:灵活部署、高可用、保存点
  4. 大规模计算:水平扩展架构、支持超大状态、增量检查点机制
  5. 性能卓越:低延迟(毫秒级的计算)、高吞吐(每秒数百万事件处理)、内存计算
  6. 可以连接到常用的存储系统:Kafka, Hive, JDBC, HDFS, Redis等

流式场景

  1. 事件驱动应用:事件驱动型应用是一类具有状态的应用,它从一个或多个事件流提取数据,并根据到来的事件触发计算、状态更新或其他外部动作。
  2. 流批分析:既支持流处理、也支持批处理
  3. 数据管道&ETL:提取-转换-加载(ETL)是一种在存储系统之间进行数据转换和迁移的常用方法。

状态

把流处理需要使用到的额外数据保存为一个“状态”,状态会跟着流动的数据动态的变化。

Flink分层API

  1. SQL
  2. Table API
  3. DataStream
  4. 有状态流处理(底层 API 处理函数)

集群剖析

  1. JobManager:协调Flink程序的分布式执行,对完成的task或执行失败做出反应,协调检查点,恢复还原状态。一般集群中只有一个。
  2. TaskManager: 执行作业流的Task, 并且缓存和交换数据流。存在一个或者多个。

部署模式

  1. 会话模式:多个任务共享一个任务管理器,适合多个执行时间短、使用资源少的任务。先起集群再提交作业

  2. 单作业模式:一个作业,专用的任务管理器,程序运行在客户端机器上。

  3. 应用模式:一个作业,专用的任务管理器,程序运行在集群机器上。

在这里插入图片描述

Standalone模式

  1. 配置集群参数
  2. 使用./jobmanager.sh start | ./taskmanager.sh start 单点启动
  3. 使用bin/start-cluster.sh | bin/stop-cluster 群起群关

YARN运行模式

后续补充

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【一周安全资讯1202】信安标委发布《网络安全标准实践指南—网络安全产品互联互通 告警信息格式》;网络安全纳入注册会计师考试科目

要闻速览 1、信安标委发布《网络安全标准实践指南—网络安全产品互联互通 告警信息格式》 2、南昌某高校学生个人信息在境外公开出售,警方抓获学校"内鬼" 3、网络安全纳入注册会计师考试科目 4、乌克兰情报机构网攻俄罗斯民航局,称俄民航业正…

前端监控学习笔记

现成的SDK SentryFun Debug 需要监控什么? 错误统计 记录我们代码发布到线上各种奇奇怪怪的错误 行为日志埋点 记录用户行为,比如:分析用户浏览时间比较长的页面有哪些,常常点击的有哪些,可以做 相应的推荐 PV/UV统…

Python----字典练习

相关链接:Python---字典的增、删、改、查操作_python中字典的增删改查-CSDN博客 Python---字典---dict-CSDN博客 Python---引用变量与可变、非可变类型-CSDN博客 重点: 字典中的 key (就是键)可以是很多数据类型(…

LLM:《第 1 部分》只是一个记忆技巧吗?

一、说明 批评者指责大型语言模型(LLM)仅仅是记忆工具已经变得很流行,他们认为他们对海量数据集的广泛训练几乎没有给真正的创造力留下什么空间。这种观点忽视了LLM背后的数学和经验科学,而正是这些数学和经验科学使KKM超越了基本…

科研者的福利!一个集论文、代码、数据集为一体的网站

Papers with Code 是一个总结了机器学习论文及其代码实现的网站。大多数论文都是有GitHub代码的。这个网站最好的地方就是对机器学习做了任务分类,检索对应的模型非常方便。早在18年Paper With Code创立时就轰动一时,仅创立一年就被Facebook收购。 Pape…

01.PostgresSQL进程与基础架构

PostgresSQL进程与基础架构 文中主要内容引用自PostgreSQL指南:内幕探索 本篇文章主要讲述PostgreSQL中进程与内存的架构 进程架构 PostgreSQL是一个客户端/服务器风格的关系型数据库管理系统,采用多进程架构,运行在单台主机上。 通常所谓…

孩子都能学会的FPGA:第十八课——用FPGA实现定点数的除法

(原创声明:该文是作者的原创,面向对象是FPGA入门者,后续会有进阶的高级教程。宗旨是让每个想做FPGA的人轻松入门,作者不光让大家知其然,还要让大家知其所以然!每个工程作者都搭建了全自动化的仿…

Linux的基本指令(五)

目录 前言 tar指令(重要) 再次思考,为什么要打包和压缩呢? 实例:基于xshell进行压缩包在Windows与Linux之间的互传 实例:实现两个Linux系统之间的文件互传 bc指令 uname -r指令 重要的热键 关机与开机 扩展命令 shell及…

java实战(五):理解多线程与多线程实现冒泡排序及可视化

多线程 1.多线程理解1.1线程概念1.2线程的创建和启动1.3线程的同步与互斥1.4线程的状态和生命周期1.5线程间的通信1.6处理线程的异常和错误1.7实践 2.效果3.代码 1.多线程理解 1.1线程概念 线程:计算机中能够执行独立任务的最小单位。在操作系统中,每个…

【web安全】ssrf漏洞的原理与使用

前言 菜某对ssrf漏洞的总结。 ssrf的作用 主要作用:访问外界无法访问的内网进行信息收集。 1.进行端口扫描,资源访问 2.指纹信息识别,访问相应的默认文件 3.利用漏洞或者和payload进一步运行其他程序 4.get类型漏洞利用,传参数…

Dart编程基础 - 一种新的编程语言

Dart编程基础 – 一种新的编程语言 Dart Programming Essentials - A New Type of Programming Language By JacksonML Dart is a client-optimized language for fast apps on any platform From dart.dev 在1999年之前,和我一样对计算机技术感兴趣的伙伴们&…

Glide结合OkHttp保证短信验证接口携带图形验证码接口返回Cookie值去做网络请求

一、实现效果 二、步骤 注意:仅展示核心部分代码 1、导入依赖 api com.github.bumptech.glide:glide:4.10.0 kapt com.github.bumptech.glide:compiler:4.10.0 api com.squareup.okhttp3:okhttp:3.11.0 api com.squareup.okhttp3:logging-interceptor:3.11.02、自…

非应届生简历模板(13篇)

无论您是职场新人还是转行求职者,一份出色的简历都是获得心仪岗位的关键。本文为大家精选了13篇专业的非应届生简历模板,无论您的经验如何,都可以灵活参考借鉴,提升自己的简历质量。让简历脱颖而出,轻松斩获心仪职位&a…

【【FPGA 之 MicroBlaze定时器中断实验】】

FPGA 之 MicroBlaze定时器中断实验 AXI Timer 具有 AXI 总线接口,能够产生不同时间周期和占空比的时钟、脉冲产生电路、产生与时间有关的中断和用于电机控制的脉宽调制信号。 AXI Timer IP 核提供了一个 AXI4 Lite 接口用于与处理器通信;它内部有两个可…

OpenCV-Python:计算机视觉框架

1.背景 俗话说“工欲善其事必先利其器”,想要学好计算机视觉,需要借助于相关的计算机视觉库,这样在进行学习的时候可以达到事半功倍的效果。 2.早期计算机视觉框架概述 Matlab的最早历史可以追溯到1970年,开始是作为数据处理工…

VL53-400激光测距传感器

一、产品简介 先由激光二极管对准目标发射激光脉冲。经目标反射后激光向各方向散射。部分散射光返回到传感器接收器,被光学系统接收后成像到雪崩光电二极管上。雪崩光电二极管是一种内部具有放大功能的光学传感器,因此它能检测极其微弱的光信号。记录并…

数据库设计实践:粒度的理解与应用示例

粒度是描述数据存储和表示的详细程度。在数据库设计中,理解和正确选择粒度是非常重要的,因为它直接影响到数据的存储效率、查询性能和数据分析的灵活性。 文章目录 粒度的类型:案例粒度选择的考虑因素实际应用 粒度的类型: 细粒度…

UI自动化Selenium find_elements和find_element的区别

# 如果获取的element是list,那么需要用find_elements方法;此方法会返回list,然后使用len() 方法,计算对象的个数; # find_element方法返回的不是list对象,所以导致没办法计算对象个数 # 1.返回值类型不同…

智慧工地一体化解决方案(里程碑管理)源码

智慧工地为管理人员提供及时、高效、优质的远程管理服务,提升安全管理水平,确保施工安全提高施工质量。实现对人、机、料、法、环的全方位实时监控,变被动“监督”为主动“监控”。 一、建设背景 施工现场有数量多、分布广,总部统…

2023.11.30 关于 MyBatis 动态 SQL 的使用

目录 引言 if 标签 trim 标签 where 标签 set 标签 foreach 标签 引言 动态 sql 是 MyBatis 的强大特性之一允许你根据输入的参数动态地构建 sql 语句从而在运行时根据不同的条件生成不同的 sql 核心思想 基于提供的数据和条件,能够修改、增加、删除 sql…