- 博客(19)
- 收藏
- 关注
原创 Flink学习13-Flink CDC
cdc全称 Change Data Capture 变更数据捕获。通俗来讲只要能捕获到变更的数据的技术都可以称为cdc。常见的开源技术有以下几种:以下是几种技术的横向对比。
2024-01-03 16:52:22
1905
1
原创 Flink学习12-FlinkTab&SQL(二)
默认分为三种:UDF:也叫标量函数,输入一行返回一行UDAF:也叫表值函数,输入一行返回多行UDTF:比较特殊,官方分为聚合函数和表聚合函数两种。前一种实现输入多行返回一行,后一种输入多行返回一张表。接下来通过三个案例来实现自定义函数三种自定义函数实现方式官网有对应模版,这里不在强调对应写法。但在编写自定义函数时有几点注意事项:1、数据类型推导Flink 自定义函数实现了自动的类型推导提取,通过反射从函数的类及其求值方法中派生数据类型。
2023-09-20 14:24:45
204
1
原创 Flink学习12-FlinkTab&SQL(一)
以上是Flink官方提供了四层不同级别的抽象来开发应用程序。Table Api实际上对底层算子的封装,而SQL则是最顶层的抽象。在生产开发中用到最多的也是SQL开发。接下来通过一个简单案例来了解Table API 和SQL的使用方式。
2023-09-19 16:47:40
179
原创 Flink学习11-flink实现端到端精准一次消费(EOS)原理
当流速快的Barrier到达下游算子的input buffer后,此时会把这个Barrier插队到此下游算子的output buffer最前面,然后把这个Barrier发送给之后的算子,同时对自身进行快照,此时进行快照时,会把流速快的那条流中相同Barrier后的数据也进行计算一部分,然后把计算完的状态保存到状态后端,之后进行状态恢复时,会把Barrier之后的数据进行重复,②当作业出现反压时,会加剧作业的反压(当出现反压时,数据本身就处理不过来,此时某条流的数据又阻塞了所以就会加剧反压。
2023-09-15 14:49:24
429
1
原创 clickhouse入门2-数据类型
这里需要注意的是:时间戳的书写,默认datetime类型时间戳是10位,但我指定test_date表中co4字段精度为3,则需要再在1692583808时间戳后面加三个0,co5也是如此。这里需要注意的是,decimal在进行四则运算的时候小数位数取最高的一个数字,乘法运算除外。而精度都是取最高精度的一个数字。这里需要注意float32和float64分别对应小数点后8位和16位有效数字,溢出来的精度会被四舍五入。另外小数位数超过当前限制,会导致精度溢出,这里溢出不会四舍五入,会直接丢弃掉。
2023-08-23 15:00:50
202
原创 Flink学习10-状态管理
众所周知,flink的一个特性是有状态计算,像经常使用的聚合算子sum就是一个有状态计算。flink是来一条数据处理一条数据,如果没有状态管理中间结果,那么每次只会给我们返回当前这条数据结果而不是累加的,这显然不符合我们预期。
2023-08-11 16:34:15
109
1
原创 Flink学习9-WaterMark
这个时候再输入(2999,a,1),(4999,a,1),但由于前面配置了allowedLateness等于3秒,所以第一个窗口会在2+6+3=11秒后关闭,再输入(11000,a,1)触发触发第一个窗口计算,会在累加(2999,a,1),(4999,a,1)求和的结果,即(a,6)。计算完毕并关闭窗口。这是会计算(1000,a,1),(3000,a,1),(2000,a,1),(5999,a,1)的求和结果,即(a,4)。这里我第一条数据输入(1000,a,1),那么第一个窗口会计算[0,6000)。
2023-08-01 11:11:26
96
1
原创 Flink学习8-时间语义及Window
具体可以划分为:滚动窗口(tumbling window)、滑动窗口(sliding window)、会话窗口(session window)、全局窗口(global window)及自定义窗口。1、按照是否为keyed stream来划分,keyed stream用window()方法,no-keyed stream用windowAll()方法。滚动窗口需要指定一个窗口大小window size,window size可以按照时间来指定(EventTime&ProcTime),也可以按照元素数量来指定。
2023-07-19 15:42:31
122
1
原创 Flink学习2-Flink架构
Flink架构图根据官网架构图所示,Flink集群在启动的时候会启动一个JobManager和多个TaskManager。用户的flink程序通过client提交给JobManager,JobManager会把不同用户提交过来的程序分发给不同的TaskManager去执行。而taskmaager里管理者多个task,真正的计算是在task中进行的。TaskManager 会将心跳和统计信息汇报给 JobManager。TaskManager 之间以流的形式进行数据的传输。要注意的是,TaskManag
2022-06-22 15:46:50
207
原创 Flink学习1-Flink基础概念
什么是Flink?这里我们需要了解一个概念“流处理”。在自然环境中,数据的产生原本就是流式的。无论是来自 Web 服务器的事件数据,证券交易所的交易数据,还是来自工厂车间机器上的传感器数据,其数据都是流式的。但是当你分析数据时,可以围绕 有界流(bounded)或 无界流(unbounded)两种模型来组织处理数据,当然,选择不同的模型,程序的执行和处理方式也都会不同。有界流可以用“批处理”程序来处理,在计算结果输出之前输入整个数据集来进行排序、汇总统计,然后再输出结果。无界流就用“流处理”程序来处理
2022-05-11 15:55:51
514
原创 clickhouse入门1-基于腾讯云轻量应用服务器安装部署
两种安装模式快速yum安装clickhouse官网快速安装执行以上命令就可以完成安装。下载可执行文件可执行文件安装设置数据目录和日志目录软链执行下面的命令mv /var/lib/clickhouse /data/默认日志目录在/var/log/clickhouse-server,将其改到/data/clickhouse/log/执行下面的命令mkdir /data/clickhouse/logmv /var/log/clickhouse-server /data/clickh
2022-05-10 18:21:21
365
原创 Flink学习4-flink自定义source并行度
概要关于source数据源,在flink 官网上介绍了很多对接方式、例如socket、elements、collect等常见的source,可以见下面链接:https://nightlies.apache.org/flink/flink-docs-release-1.12/zh/dev/connectors/。在这里要说的是自定义source,通过addsource类接入。public class sourceMain { public static void main(String[] arg
2021-12-27 11:31:33
2974
原创 记录腾讯云服务器解决登录报:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 问题
起因我手上有两个腾讯云账号,每个账号下都挂了一台云服务器,之前都是可以通过Mac的 Terminal终端ssh登录,今天发现其中一台报如下错误:首先说下解决方案:看报错信息中有这样一句(这里每个人的hostname不一样需要注意):Add correct host key in /Users/hostname/.ssh/known_hosts to get rid of this message.然后打开本地终端:vi /Users/hostname/.ssh/known_hosts删除对
2021-12-23 16:18:23
1175
原创 【腾讯轻量应用服务器上部署kafka并通过flink读取kafka数据】
环境准备经过1个月的摸索,最终选择在腾讯云上搭建一个学习环境。当时选择原因还是新用户有优惠(150左右3年),但现在看1核2g的配置勉强够用,建议后续小伙伴选择时最好是2核4g配置。由于是单节点安装,需要准备如下资源:1、jdk1.82、zookeeper3.5.93、kafka_2.12-3.0.0链接: 资源都整合在这里.JDK安装找到jdk进行解压:配置环境变量 vi /etc/profile export JAVA_HOME=/usr/local/soft/jdk1.
2021-12-09 17:36:52
1737
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人