
大数据
文章平均质量分 79
肥仔哥哥1930
专业、专注、专家
展开
-
Flink流处理引擎系统学习(十六)
前言今天还是分享一个刚出炉的FlinkTask,没有什么复杂的计算,只是process处理的时候出来的数据源有点意思,主要感受Flink的强大。一、场景就是门禁系统的通行记录进行同步与统计,然后大门与1楼数据一致,而统计记录里需要插入2条数据。二、设计思路1.表设计表sql我就不贴了,看看字段设计:关键是统计大门通行记录的时候,要把1楼的记录统计一条存库,例如:2.flink处理思路我的想法挺简单,就是在大门统计记录哪里复制一条放回DataStream,后面的sink该怎么处理就还怎原创 2022-05-25 19:05:48 · 359 阅读 · 0 评论 -
Flink流处理引擎系统学习(十五)
前言上次哪个稍微有点复杂,可能一下就搞2个sink不好理解,这次来个简单的,仅仅做下source源数据做拆解转换,入库存储,模拟设备、设备上报信息同步。一、场景同步设备信息模拟设备采集数据(源是最新数据,没有采集时间点概念)分类存储转换(设备不能重复存储、设备上报记录有主,采集详情键值对)二、设计思路1.表结构设计我的思路挺简单,同步数据库拆解表设计:设备信息表:记录设备信息设备上报主记录:记录设备上报同步时间点信息设备上报属性详情信息:记录设备上报属性值详情2.flin原创 2022-05-24 09:06:16 · 498 阅读 · 0 评论 -
Flink流处理引擎系统学习(十四)
前言 最近都没有时间循序渐进的撸Flink的基础知识了跟大家分享了,今天就直接跟大家分享最近写的FlinkTask吧,我们在实践中强大。不废话,我最近也没有时间跟大家废话。一、使用场景 场景其实挺简单,就是同步别人系统的数据,存储记录并做统计计算存储统计结果。我这里是同步客户系统的访客信息存储、并统计,统计结果存库。二、方案选型1.原创 2022-05-19 20:51:14 · 702 阅读 · 0 评论 -
SpringBoot集成Flink部署与打包
前言 昨天折腾了下SpringBoot与Flink集成,实际上集成特简单,主要是部署打包的问题折腾了不少时间。想打出的包直接可以java -jar运行,同时也可以flink run运行,或者在flink的dashboard上上传点击启动。结果是不行,但是使用不同的插件打包还是可以的。一、SpringBoot集成Flink 其实没什么特别的,就把Flink依赖的包原创 2022-05-13 15:20:08 · 4977 阅读 · 3 评论 -
Flink流处理引擎系统学习(十三)
前言 今天不分享基础概念知识了,来分享一个马上工作需要的场景,要做数据的抽取,不用kettle,想用flink。实际就是flink的sql、table层级的api。一、CDC CDC (Change Data Capture) ,在广义的概念上,只要能捕获数据变更的技术,都可以称为 CDC 。但通常我们说的CDC 技术主要面向数据库(包括常见的mysql,Ora原创 2022-05-11 19:37:18 · 1311 阅读 · 0 评论 -
Flink流处理引擎系统学习(十二)
前言这期分享windos的理解,只有这个理解清楚了,才能更好的根据场景选择合适的开窗处理。一、window的基本概念1.window是什么2.window的分类PS:按key分组了用window构建多个window,未分组用windowAll(API后缀都带All)区别示例:3.window的生命周期4.Window Assinger5.Window Assinger分类(window小分类)翻滚窗口翻滚窗口的使用滑动窗口滑动窗口的使用session窗口原创 2022-05-10 19:44:00 · 663 阅读 · 0 评论 -
Flink流处理引擎系统学习(十一)
前言今天主要分享Time的知识,是基础理论,确实有点枯燥,但是这些不搞明白,后面写代码会搞不清楚场景的。一、DataStream与Time1.DataStream支持的Time2.Time的比较3.业务场景分析选择Time4.设置Time的类型二、时间戳和水位线背后的机制1.水位线是什么2.有序流的水位线3.无序流的水位线4.并行流的水位线二、生成Timestamp和watermark及预定义处理1.生成方式2.source function中生成PS:不原创 2022-05-07 12:53:40 · 711 阅读 · 0 评论 -
Flink流处理引擎系统学习(十)
前言本来准备5.1节假日写这一篇的,但是天天都是事,基本都是起早床,没有睡一个懒觉。假期基本下午半天都是睡一下午,所以拖到今天写,说到底还是懒。。。。一、操作转换概论1.转换关系图2.一般转换解释coGroup:该操作是将两个数据流/集合按照key进行group,然后将相同key的数据进行处理,它在一个流/数据集中没有找到与另一个匹配的数据还是会输出。join:与我们数据库中常见的inner join类似,它数据的数据侧重与pair,它会按照一定的条件取出两个流或者数据集中匹配的数据返回给下原创 2022-05-05 11:09:20 · 419 阅读 · 0 评论 -
Flink流处理引擎系统学习(九)
前言今天主要是过下Flink的DataStream API入门,编码基本套路、数据源等等。昨天部门经理把项目的demo权限放开了,看了下,基本的大流程已经实现了。使用的是1.14.3版本(现在1.14.4),代码最后git时间是3.28。不得不说,demo基本把要改造的大流程写好了,还是强啊。所以说还是要保持好学习能力,是不是要走领导岗位就看个人了(不过不得不说当了一定级别的领导菜有更多的时间study up。这个级别不能低也不能高)。一、Flink编码套路运行模型数据源自定义数据源示例原创 2022-04-28 16:45:34 · 1737 阅读 · 0 评论 -
Flink流处理引擎系统学习(八)
前言这2天项目上有点事情耽搁了up进度,今天来一篇。顺便补2个小测试代码,说明下groupBy与keyBy的区别,然后补充下计数器的使用。一、Flink API通用基础概念1、DataSet与DataStream2、懒性计算3、那些操作需要指定键(key)4、指定key的方式5、转换函数6、Flink支持的数据类型详解:7、类型擦除和类型推理8、累加器和计数器二、如何使用累加器1、使用内置累加器的姿势2、自定义累加器三、2个dem原创 2022-04-28 11:52:12 · 1657 阅读 · 0 评论 -
Flink流处理引擎系统学习(七)
前言今天开始是要开始就是要开始看看flink的源码了,通过源码、例子来学习理解flink的编码讨论、核心概念等。一、源码下载github搜索flink,复制地址就可以直接下载了。这里要说的是flink的分支版本,我们要学习的是1.14.4最新稳定版本,但是你会发现branches里没有这个分支。实际上在Tags里是可以找到的,如果用idea,实际上这些都不用关心,直接在里面切换就ok。我这里是复制的地址,在idea里下载的,然后切换到这个版本的。可以看到我这里已经开始编译了,但是实际上,原创 2022-04-25 19:49:38 · 1656 阅读 · 0 评论 -
Flink流处理引擎系统学习(六)
前言 今天也是够坑的,忘记了我的服务器、小舅子的服务器都被我把jdk升级到17了,而flink目前还是只支持jdk8、jdk11,虽然flink1.14.4是3.2号出了的,jdk17是1月18出的.但是目前看来还没有支持。 从上次的example运行在17的jdk失败,跟今天在2台服务器上折腾启动flink不能访问就可以看出来,从发布周期估计,可能下一个版本就可以原创 2022-04-24 20:18:15 · 1531 阅读 · 0 评论 -
Flink流处理引擎系统学习(五)
前言这次继续分享基础知识,Flink的Runtime知识。也是记录笔记,方便以后自己再回头看。一、Flink运行时架构Akka:Akka基于Actor模型,提供了一个用于构建可扩展的(Scalable)、弹性的(Resilient)、快速响应的(Responsive)应用程序的平台。akka典型的特点:并发模型:基于actor模型,对并发进行高层次的抽象;异步能力:基于actor模型进行通信,天然具有异步非阻塞的特点;高容错性:通过父子actor监督机制进行容错处理,为akka分布式模型原创 2022-04-23 19:11:15 · 2100 阅读 · 0 评论 -
Flink流处理引擎系统学习(四)
前言想用公司的时间做提升,那肯定是妄想啊。入职这家公司已经3年了,没有公司的培养培训,都是自己捣腾。何况我们还不是什么大厂,早上领导已经发话要切进项目看这么引入flink做改造了。不管咋样,学习是自己的事情,这个必须学出一定高度,博友们监督,哈哈。一、分层架构之前在开篇就有整体介绍,现在进入具体一点的讲解。首先,我说下个人的理解,分层架构我认为是轮子、语法的关系,底层的语法可以造出很多轮子,上层可以不管轮子怎么做出来的。比如一个车企,可以自己生产轮子,也可以直接用通用的轮子。其实底层就更接近源码,这原创 2022-04-22 12:59:34 · 2895 阅读 · 0 评论 -
Flink流处理引擎系统学习(三)
前言再来一个Flink的stream的example,提前先说下,官网的例子有点坑。一、stream例子拷贝到我的目录(这里顺便说下一个好的工具用起来真香,idea居然可以复制的代码,粘贴自动跟我创建类)你想文什么,我知道,先别问,继续看下面。二、example整理1.依赖引入你拷贝到你的demo项目,在自动引包的时候,会发现很多缺很多对象。首先需要引入flink-connector-files<dependency> <groupId>org.apache原创 2022-04-21 19:59:08 · 1367 阅读 · 0 评论 -
Flink流处理引擎系统学习(二)
前言第一个Flink示例,首先分享下课程李老师关于任何一门新技术的学习方法:1、进官网2、找项目构建3、找example里的demo代码4、拷贝到构建的项目里go一、Flink的项目构建一般官网都会提供项目的构建步骤、或者脚本的。Flink在这里就是提供的脚本,步骤如下:1、打开官网:https://flink.apache.org/2、拷贝建Flink项目的脚本当然,其实是可以在idea里New Project一步步选择Flink的依赖,新建项目的。这里要说的是,这个脚本需要原创 2022-04-21 16:17:49 · 971 阅读 · 0 评论 -
Flink流处理引擎系统学习(一)
自己有时说带不动别人,在别人眼里,又何尝不是被被人这样认为呢?以后还是要摒除内心的杂念,紧下心,自己创造条件UP。正如课程老师说的,未来没有什么谁强谁弱,而是看谁先在自己的短板有所突破。我们做人、做技术人又何尝不是这样呢?原创 2022-04-21 12:58:39 · 1229 阅读 · 0 评论 -
ES复杂分组同时多聚合统计实现(java)
前言本来计划上一篇是最近的最后一篇,然后,这周手上还分的一点活,按照计划处理完成了,这会顺便跟大家分享下。内容是java端操作ES做分组、聚合统计。一、需求场景其实需求也不复杂,就是一个红外感应的物联网设备进出都有统计上报流水,然后客户提出需要对这些数据进行统计,计算客流数量,进行展示。二、需求分析经过沟通确认,这个需求可以沉淀升级为一个通用的流水分组聚合统计接口。拆解结果,接口具体要求:1、区分项目2、租户下设备 (分组)3、设备属性(分组)4、统计类型 (平均值、求数目、求和)原创 2022-01-07 18:37:12 · 12749 阅读 · 4 评论