当前位置: 首页 > news >正文

flink 小技巧记录

一、背景

        flink做etl、大宽表、统计过程中有些小细节可以尝试优化,这里简单记录下:

二、场景

        2.1 允许延迟的数据同步。比如线上订单库binlog同步到查询库,或者简单处理进入分析库,让分析师直接查询明细. 如果吞吐要求大一点,可以开启小批处理。

                

# 这是SQL 参数,具体的根据业务自己调节
table.exec.mini-batch.enabled: 'true'
table.exec.mini-batch.size: '2000'
table.exec.mini-batch.binary.memory.size: 1mb

        2.2 同 2.1类似,适合短时间高频率更新的业务,可以根据window进行过滤,减少存储端的更新频率。同样这种方法能减少下游维表的 join 的压力,相当于N秒更新的数据,内存压缩到1条

# 定义带自己的时间戳
CREATE TEMPORARY TABLE source_table (id bigint,name varchar,ts AS PROCTIME()
);# 这里用window 减少数据量
# 顺序可以用last_value,乱序用row_number + id + 时间处理
select 
id,
last_value(name) as name
GROUP BY  id,TUMBLE(ts, INTERVAL '5' SECOND);

2.3  有些场景凌晨的时候partition 没数据过来,导致开启window的时候下游无法输出,从而导致凌晨后计算,数据不全

# 某些source partition没数据,等待N秒,忽略它,让数据继续往下
# 参考:WatermarkOutputMultiplexer 和 WatermarksWithIdleness 这两个类的 onPeriodicEmit 方法
table.exec.source.idle-timeout : 3s

2.4 如果用了group by 等场景,别忘记开启TTL,避免无限膨胀

table.exec.state.ttl: ....

2.5 由于opreator chain 优化,导致我们flinkUI 查询流量以及产生背压的情况不好找原因。可以临时开启:

# 会让算子不合并,吃N多资源,但是方便监控流量,以及算子瓶颈
# 由于SQL 算子的并行度调节目前1.12 没有做,所有一般是调大并行度解决pipeline.operator-chaining: true

2.6 top-n 优化

      a.如果类目不多,可以直接count  group by 类目,累加到类似数据库存储处理

         更新频率比较高,同理可以用小batch 减少更新。

      b. 如果类目较多(比如100W+), SQL有过优化了, 里面只是状态会维护得比较大一点

      c.如果类目及其多(1亿+),可以自定义一个累加算子,然后存储接分布式的高性能库、或者redis、ES都行. 参考微博的top排行。

2.7   join 优化

1.如果是多维表、同一个数据库、主键join。开发一个单独的join插件,可以传入SQL 一次  join多条。

2. join 比较新的数据,高频数据,最好接入一个公共服务,有服务提供公共层、缓存、更新等操作。同时也能减少对数据库的连接

小结:

       这里仅记录分享部分优化过程,希望对新入门的有一定借鉴作用。

       其他更多调优得看文档和里面代码了。特殊逻辑最好自己实现比较优秀。

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

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

带你了解DDoS攻击的原理,让你轻松学会DDoS攻击原理及防护措施

DDoS攻击原理是什么? 随着网络时代的到来,网络安全变得越来越重要。在互联网的安全领域,DDoS(Distributed DenialofService)攻击技术因为它的隐蔽性,高效性一直是网络攻击者最青睐的攻击方式,它严重威胁着互联网的安全。接下来的…...

小区物业管理系统-物业管理员页面

小区物业管理系统-物业管理员页面 主页面 添加业主 Public Class PropertyManager_Pro_insertbug:插入:若删除一个,用count就会插入相同的,导致插入错误Dim proprietor As New ProprietorPublic Sub New(s As String)InitializeComponent()E…...

Python数学问题20:高空抛物

1. 问题描述 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多米?第10次反弹多高? 2. 实例代码 high 200 total 100 for i in range(10):high / 2total hi…...

SQL Server 执行计划(1)- 概述

在本系列文章中,我们将导航 SQL Server 执行计划的海洋,从定义执行计划的概念开始,遍历执行计划的类型、组件和运算符,分析执行计划,我们将完成如何保存和管理执行计划。 SQL Server 执行计划概述 当你提交一个 T-SQ…...

多域间访问之外部信任

前言:在同一个林内,通过自动建立可传递的,双向的信任关系,可以实现所有域间的相互信任。但是在不同林之间则不会自动建立信任关系,要实现两个林之间的访问需要手工建立信任关系。 林之间的信任关系又可分为外部信任和…...

阿里程序员的Java之路!Redis宕机数据丢失解决方案

二叉树 定义 二叉树是n(n>0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树组成。 图解 二叉树特点 由二叉树定义以及图示分析得出二叉树有以下特点…...

最全面的 Spring 学习笔记

最全面的 Spring 学习笔记...

html基础

文章目录day01_web一、Web前端介绍1. 什么是网页2. 网页的组成3. 开发前的准备二、 HTML语法介绍1. HTML介绍2. 标签3. 使用三、常用标签介绍1. 基本结构解析2. body中常用标签3. 常用结构标签属性和属性值day01_web 一、Web前端介绍 1. 什么是网页 网页是基于浏览器的应用程…...

pt-osc工具原理与实践

MySQL在5.7版本对于online ddl支持的并不是非常优化,比如说将大表int字段类型修改成bigint或者对大表进行字符编码的改造。对于业务来说都是需要停业去处理的,对于高速发展的互联网行业来说,时间就是金钱,所以合理的应用pt-osc工具…...

Unity ILRuntime编译命令

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe F:\UnityProjects\Test\Assets\Samples\ILRuntime\1.6.7\Demo\HotFix_Project~\HotFix_Project.csproj /t:Rebuild /p:ConfigurationRelease pause...

Ubuntu 20.04下PyCharm配置QtDesigner,PyUIC和Pyrcc

《ubuntu安装配置QtDesigner》...

34. 图解 Go 语言:静态类型与动态类型

转载自::github.com/iswbm/GolangCodingTime 在自己学习 Golang 的这段时间里,我写了详细的学习笔记放在我的个人微信公众号 《Go编程时光》,对于 Go 语言,我也算是个初学者,因此写的东西应该会比较适合刚接…...

Keyhole Markup Language (KML)

5. KML-Keyhole Markup Language From https://developers.google.com/kml/documentation/kml_tut?hlzh-CN KML 是一种文件格式,用于在地球浏览器(例如 Google 地球、Google 地图和谷歌手机地图)中显示地理数据。KML 使用含有嵌套的元素和…...

idea复制当前行快捷键

仅作为记录,大佬请跳过。 在该行的任何位置,直接用ctrl和c即可 参考 感谢大佬博主文章:传送门...

不抛弃异常值的几种情况

异常数据是数据分布的常态,处于特定分布区域或范围之外的数据 通常会被定义为异常或“噪音”。产生数据“噪音”的原因很多,例如业务 运营操作、数据采集问题、数据同步问题等。对异常数据进行处理前, 需要先辨别出到底哪些是真正的数据异常。 从数据异常的状态看分为两 种…...

23种设计模式

一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多…...

Nacos 2.0.2正式版发布

一、介绍Nacos Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用…...

spring框架的各种注解基本意思

//在 spring 配置文件中开启生成代理对象 <!-- 开启 Aspect 生成代理对象--> <aop:aspectj-autoproxy></aop:aspectj-autoproxy>Autowired //根据属性类型进行自动装配 Aspect //生成代理对象 Qualifier //根据名称进行注 Resource //可以根据类型注…...

【Java45】旅游案例:数据回显,注销/退出,首页类别显示,精选

文章目录1.登陆数据回显1.1 前端2.登陆案例_注销/退出3.首页类别显示3.1 web3.2 service3.3 dao4.精选4.1 web4.2 service4.3 dao4.4 前端1.登陆数据回显 如上前端写在header.html中。 1.1 前端 //header.html <!-- 头部 start --><header id"header2"&g…...

axios跨域问题

项目配置 vue-cli3vue2element-ui-2.15.3 在网上找了很多方案&#xff0c;但是都没有生效&#xff0c;最后是前端添加了一段代码&#xff0c;后台添加了一段代码 解决了 添加了headers的配置 const instance axios.create({// baseURL: http://mall.huolida.com/,// baseUR…...

Zookeeper源码查看: 七. 客户端启动源码

客户端启动源码 查看启动脚本 查看 zkCli.sh, 在 zkCli.sh 启动 Zookeeper 时, 会调用 ZooKeeperMain.java 创建 ZookeeperAdmin 查看启动类 ZookeeperMain 查看 ZookeeperMain 构造方法 查看 connectToZK() 方法 初始化监听器 查看 ZookeeperAdmin 类 解析连接地址…...

关于环境变量定义prompt实现$替换成用户+当前路径提示

set prompt "// ${HOST}:$cwd % " alias cd cd \!* ;set prompt "// ${HOST}:$cwd % "...

jspdf本地运行环境正常,打包后下载的pdf不全

最近开发过程中遇到个问题&#xff0c;用jspdf配合html2canvas把页面元素下载为pdf文件&#xff0c;在本地运行环境好好的&#xff0c;但是打包之后下载的pdf就是不全的&#xff0c;搜了好久也没找出什么对症的解决方案。 现象就是这样&#xff1a; 正常的文件&#xff1a; 有…...

LCD驱动芯片工厂,稳定提供高抗干扰超低功耗芯片2C23适用于水电气表以及工控仪表类驱动IC

容&#xff1a; VK2C23是一个点阵式存储映射的LCD驱动器&#xff0c;可支持最大224点&#xff08;56SEGx4COM&#xff09;或者最大416点&#xff08;52SEGx8COM&#xff09;的LCD屏。单片机可通过I2C接口配置显示参数和读写显示数据&#xff0c;也可通过指令进入省电模式。其高…...

5个实用提速深度学习模型的方法

您是否通过深度学习模型获得了良好的准确性&#xff0c;却发现推理时间不足以部署到生产环境中&#xff1f;您是否对如何优化模型的推理速度迷失了方向&#xff1f;那么这篇文章是给你的。众所周知&#xff0c;数据科学项目有一个奇特的特性&#xff0c;即项目者需要不断转换关…...

易-----

易 本人00后&#xff0c;近期在学子平、八字命理、易经玄学方面&#xff0c;如也是玄学爱好者&#xff0c;可以加联系方式一起讨论、学习&#xff0c;年龄相仿更好。 微信&#xff1a;1783176946 事实上还有两种《易经》&#xff0c;一种叫《连山易》&#xff0c;一种叫《归藏…...

ssh爆破获取用户密码

通过nmap扫描目标主机发现ssh版本为OpenSSH 5.3&#xff0c;有漏洞 漏洞影响版本&#xff08;OpenSSH < 8.3p1&#xff09; 使用msfconsole 工具 search ssh #查找有关ssh的漏洞 找到并使用漏洞use auxiliary/scanner/ssh/ssh_login show options #查看此漏…...

从青铜到王者的路线,6年菜鸟开发面试字节跳动Android研发岗,移动架构师成长路线

前言 今天我给大家再次分享一下&#xff0c;我最近的一些读书的感想&#xff0c;思考起来&#xff0c;确实能够给自己带来一些真实的帮助和启发&#xff0c;希望大家在平时的工作学习中&#xff0c;也能够认清楚学习的一些本质。 如果我们的学习是在不断掌握应对具体工作场景…...

从入门到精通!一个三非渣本的Android校招秋招之路,终局之战

前言: 本文收集整理了各大厂常见面试题N道&#xff0c;你想要的这里都有内容涵盖&#xff1a;Java 相关、Android 基础、Android Framework、三方源码、算法与数据结构、等技术栈&#xff0c;希望大家都能找到适合自己的公司&#xff0c;开开心心的撸代码。 实现方案 直接依…...

CRM中销售周期的各个阶段以及销售管理

什么是销售周期? 销售周期是指销售人员为转化新客户而采取行动的所有时间阶段。销售周期经常与销售方法混淆。销售方法&#xff0c;通常为提高销售效率或成交率而设计&#xff0c;例如以客户为中心销售法。而销售周期则更具战略性&#xff0c;通常包括“挖掘”&#xff0c;“…...

小程序接口签名及PHP验签

签名算法 所有参数按字典序排序后用&连接&#xff0c;然后拼接上&keyvalue,做MD5 小程序生成签名 sign.js var m require("./md5.js");function sort(data) {var keys Object.keys(data).sort();var result {};for(var i 0; i < keys.length; i){…...

小程序接口对接

wx.request({url: https://api.changching.cn/api/v4/sermanstars/,method: POST,header: {Accept: "*/*",Authorization: Token userInfo.thirdkey ,userid userInfo.id,},data: {userid: userInfo.id,sermanid: that.data.sermenid,star: score,},success: fu...

职场的边界感、底线原则与陷阱

引言 职场的边界感&#xff0c;是一个很玄的概念。 在互联网公司&#xff0c;如果一个人对工作边界感过于重视&#xff0c;对自己的职责范围划定的非常清晰&#xff0c;很容易被批评“边界感过强”&#xff0c;如果领导也对自己有这样的评价&#xff0c;往往与晋升无缘。但如果…...

2022年个人学习年度计划

1.掌握Python 2.掌握MySQL 3.了解R语言...

UE4个人学习知识点记录1

UE4个人学习知识点记录1 自定义游戏模式和角色蓝图 创建游戏模式 创建角色蓝图 调整角色蓝图 添加映射 编写蓝图 测试结果...

寒假个人学习心得体会

今天是1月23日&#xff0c;放假已经过去了十天了&#xff0c;在这期间&#xff0c;我对程序设计方面又有了许多新的知识。主要是大体通读了一下关于STL的内容&#xff0c;STL可以简化程序&#xff0c;帮助我们更好的读懂程序语言&#xff0c;了解了STL里的vector的用法&#xf…...

单片机学习之路一些常见的疑问也是我的个人学习总结

单片机学习之路一些常见的疑问也是我的个人学习总结 https://blog.csdn.net/wusuowei1010/article/details/103478032 https://blog.csdn.net/qq_43581670/article/details/107715359 STM32的八种输入输出模式&#xff1f; 输入模式 上拉输入&#xff1a;通过内部的上拉电…...

个人学习方法总结

关于我个人的学习方法总结&#xff1a;在我个人看来&#xff0c;不管学习什么东西&#xff0c;只要你把它理解了&#xff0c;那么就可以说你已经掌握它了&#xff0c;我这里说的理解不是单纯的认识&#xff0c;了解&#xff0c;是真正能够看到它的本质&#xff0c;能够感受到它…...

安卓-浅谈个人学习方法(自学篇)

http://blog.csdn.net/lmj623565791/article/details/52905934...

个人学习java的真实经验!

学习java&#xff0c;一定要有比较好的耐心&#xff0c;因为程序就是一门比较深的语言&#xff0c;一定差错都是不允许的&#xff0c;同时一定要多看书&#xff0c;因为看书可以学习到很多不同的思路&#xff0c;同同时思路对于学习程序是很重要的&#xff0c;还有就是一定要不…...

cv学习路线个人向

文章目录确定自身定位补充数理基础编程工具的学习机器学习相关课程学习进一步深入理论相关基础视觉的学习跑模型比赛平台论文来源推荐确定自身定位 是做理论研究还是搞工程设计&#xff0c;区分侧重点。相读博的专注于论文&#xff0c;进企业的偏向实习比赛 补充数理基础 高…...

个人学习时间规划表

工作日&#xff1a;周一二三四五日 起床7:30-7:50 早饭7:50-8:20 上午8:30-11:30 Java学习 3:00 中饭11:30-12:10 午休12:10-1:40 1:30&#xff08;休息&#xff09; 下午1:50-5:30 导师任务 3:30 晚饭5:30-6:10 晚上6:30-9:30 总结或者Java学习 3:00 健身9:30-10:30 洗漱10:30…...

冰冻三尺非一日之寒-自学篇 浅谈个人学习方法

昨晚还在看比赛&#xff08;war3&#xff09;&#xff0c;小源跑过来问我明天1024&#xff0c;不写篇文章么&#xff0c;想想也是&#xff0c;1024这也算个热点&#xff0c;赶紧来蹭蹭&#xff0c;哈&#xff0c;开个玩笑。 上次谈了谈自己写博客的经历&#xff0c;那么这次就…...

浅谈个人自学编程心得

学习之路的坎坷与挫折 从小学到高中从来没有对学习持有多大的热情,换句话说,其实我学习都是爸妈和老师逼的,作业也从来没有认真完成过一次,每次买的教材试卷什么的基本都是空白的,就根本对学习这事没有任何的兴趣,作业完成数量可以说是全校完成最少的人,现在说出来感觉…...

60岁首席工程师被SpaceX边缘化,主管:我怕他退休或死了

金磊 发自 凹非寺量子位 | 公众号 QbitAI在SpaceX&#xff0c;连首席工程师竟也能遭遇职场边缘化。故事的主人公叫做John Johnson&#xff08;姑且叫他“逊哥”&#xff09;&#xff0c;他在2018年加入SpaceX。当时的逊哥已经58岁&#xff0c;但在光学工程领域可谓颇有建树。刚…...

html网页图片下方空隙太大,网页制作中图片上下间为什么会有空隙?解决办法...

尽管已经是老掉牙的东西了&#xff0c;而且IMG在html中出现空隙的老式浏览器好多已经一去不复返了&#xff0c;但还是要给大家普及一下原因及原理。造成图片在IE下与容器下边界有空隙的原因图片文字等inline元素默认是和父级元素的baseline对齐的&#xff0c;而baseline又和父级…...

[附源码]JAVA毕业设计酒店订房系统(系统+LW)

[附源码]JAVA毕业设计酒店订房系统&#xff08;系统LW&#xff09; 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&…...

深度学习模型权重

深度学习模型权重 .pt是pytroch框架的 .weights是Darknet框架的 .ckpt是tenseflow框架的 .h5是keras框架的...

二进制权重

问题对于64或者32位无符号整数x&#xff0c;如0b111权值为3&#xff0c;找到一个权值一样&#xff0c;但是两数相减绝对值最小的数。 通过几个小样例测试发现规律&#xff0c;当两数的二进制位相邻值不同时&#xff0c;交换两数位置&#xff0c;即可以得到最近值 def closestW…...

预训练权重加载

一般为了缩短网络训练时间&#xff0c;并且希望达到更好的精度&#xff0c;我们一般加载预训练权重进行网络的训练。 加载的过程中可能会遇到&#xff0c;网络权重与网络层命名不同的情况。 目录一、 网络结构与权重完全对应二、网络结构相同&#xff0c;网络层命名不同一、 网…...