重生之我在异世界打工
ok
展开
-
flink消费kafka限制消费速率
flink消费kafka限制消费速率原创 2023-11-27 16:51:00 · 1347 阅读 · 1 评论 -
flink 解决udf重复调用的问题(亲测有效)
udf会被调用4次,如果udf是计算型的,后果很严重。接下来介绍一下解决的办法。原创 2023-05-25 09:58:38 · 482 阅读 · 0 评论 -
flink1.12配置滚动日志(超详细)
flink 1.12 配置滚动日志原创 2023-05-11 15:39:06 · 917 阅读 · 0 评论 -
[FLINK] flink checkpoitn和kafka offset commit的关系
flink checkpoitn和kafka offset commit的关系原创 2022-11-16 17:01:39 · 530 阅读 · 0 评论 -
Flink动态业务规则的实现
在不停止flink任务的情况下,在外部通过配置,来达到修改flink输出特征逻辑的变化、新增和删除。原创 2022-08-18 16:48:35 · 1505 阅读 · 0 评论 -
flinksql基础知识
文章目录Table的转换DataStream转换成表创建临时视图输出connector输出到文件输出到kafka输出到ES输出到mysql更新模式追加模式(append mode)撤回模式(retract mode)Upsert(更新插入)模式时间特性处理时间在 DataStream 转化时直接指定在schema中指定在DDL语句中指定事件事件在 DataStream 转化时直接指定定义 Table Schema 时指定创建DDL时指定窗口分组窗口(Group Windows)over window(hiv原创 2022-05-23 10:33:27 · 443 阅读 · 0 评论 -
flink sql指定rowtime和proctime的几种方式
flink sql 中的rowtime 和proctime参考文章 https://blog.csdn.net/spring0666/article/details/116994928event time1.sql中创建CREATE TABLE tt_stream ( a VARCHAR, b VARCHAR, ts TIMESTAMP, WATERMARK wk1 FOR ts as withOffset (ts, 1000) --Watermark计算方法。) WITH ();原创 2022-05-09 12:24:07 · 1912 阅读 · 0 评论 -
flink实时计算uv,并每天使用离线数据更正计算结果
文章目录flink实时计算uv,并每天使用离线数据更正计算结果需求思考1.怎么在flink中判断是新用户?2.flink怎么获取离线数据的结果?3.kafka join hive的字段?4.使用常量字段join,后续处理?5.开窗口6.ds1 interval join ds27.后续处理8.夸一下自己代码flink实时计算uv,并每天使用离线数据更正计算结果需求数据一部分发到kafka实时计算,一部分存到hive离线计算。每天用hive计算的结果更正实时计算的结果。比如hive在2022-05-0原创 2022-05-08 11:40:25 · 1090 阅读 · 0 评论 -
flink写入带kerberos认证的kudu connector
文章目录前言一、介绍二、先来看kudu java api认证kerberos1.首先需要进行kerberos的验证(需要将相应用户的keytab文件引入本地)2.依赖3.引入hadoop 配置文件4.获取客户端5.增删改查三、修改flink-kudu connector支持kerberos1.先从github 下载源码2.修改四、修改后的代码分享前言找了半天网上一点资料都没有,还是得靠自己。一、介绍flink官方并没有flink-kudu connector,可以用这个第三方的,地址如下https原创 2022-03-24 09:45:23 · 3137 阅读 · 1 评论 -
hive数据迁移到clickhouse+kafka数据写入clickhouse
hive数据迁移到clickhouse文章目录hive数据迁移到clickhouse1.使用命令导入2.使用waterdropkafka数据写入clickhouse1.使用命令导入#1.hive数据导出成csv格式hive -e "select id,name,age from xxx" | tr "\t" "," > /otp/data/test.csv#2.导入clickhouseclickhouse-client -h hadoop102 --query='INSERT INTO原创 2021-12-16 10:13:13 · 3685 阅读 · 0 评论 -
full join的一些问题--拼接所有的字段
drop table if exists lqh_test1;drop table if exists lqh_test2;drop table if exists lqh_test3;drop table if exists lqh_test4;create table lqh_test1(id string,a string);create table lqh_test2(id string,b string);create table lqh_test3(id string,c stri原创 2021-06-30 10:43:30 · 440 阅读 · 0 评论 -
flink on zeppelin使用手册(持更)
加载udf和jar包%flink.confflink.udf.jars /etc/udf/myudf.jar(或者在hdfs上 hdfs:///tmp/udf/myudf.jar)flink.execuion.jars hdfs:///tmp/flinkjars (加载flink本身不带的jar包)在zeppelin中也可以写udf但是只能用scala写,上面这种方式 java和scala都可以,写完打包加载。查看udf%flink.ssql(type=update)show functio原创 2021-06-30 10:00:00 · 255 阅读 · 0 评论 -
【flink】udf数组类型参数 row[]
文章目录需求尝试最终方案需求有如下结构的kafka数据源(json形式)需要计算f1.name=f0.name相等的个数。尝试create view f0_view asselect session_id, proc_time, namefrom gsy_ods,unnest(persons) as t(name, age);create view f1_view asselect session_id, proc_time, namefro原创 2021-04-29 16:39:31 · 1216 阅读 · 0 评论 -
【flink】flink sql几种join的探索及应用
文章目录问题需求最终解决方案解释几种join的尝试1.regular join2.interval join3.temporal join4.look up join5.多维temporal join6.Lateral Table Join问题需求最近碰到一个需求,有如下表格这样一个kafka数据源,用flink sql实时enrich这个流,加上两个特征7天内同一申请人申请次数7天内作为担保人出现的次数event_id事件idapply_id申请人idconta原创 2021-04-25 17:18:33 · 839 阅读 · 0 评论 -
【flink】flink on zeppelin
https://www.yuque.com/jeffzhangjianfeng/gldg8w原创 2021-04-07 09:58:19 · 106 阅读 · 0 评论 -
【flink】upsert kafka 数据展示实战
数据准备mysql数据CREATE DATABASE flink;USE flink;CREATE TABLE users ( user_id BIGINT, user_name VARCHAR(1000), region VARCHAR(1000));INSERT INTO users VALUES (1, 'Timo', 'Berlin'),(2, 'Tom', 'Beijing'),(3, 'Apple', 'Beijing');在sql client中创建表C原创 2021-03-31 10:04:02 · 665 阅读 · 0 评论 -
【flink】异步IO实战
官网介绍https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/stream/operators/asyncio.html#async-io-api自己写的demoDataStream ds=... AsyncDataStream.unorderedWait( ds, new DimAsyncFun<ProductStats>("tablename原创 2021-03-24 10:16:28 · 164 阅读 · 0 评论 -
【flink】udf实现维表关联
需求 用udf实现flink维表关联。 维表数据库用的是Cassandra,具有快速高并发写入的特点,把明细数据保存在数据库中。主流是接受kafka消息(本文中用的datagen),根据自己的过滤条件(where xx=xxx)在udf中查询出一批数据,做聚合后把结果返回。 本文中udf的功能为,查询近5分钟的count 和sum。调用udf后主流就有了这两个属性。代码/** * 统计5分钟的 count sum */public class AggCassandraFunction e原创 2021-03-22 09:04:34 · 415 阅读 · 0 评论 -
【flink】sql-client 提交任务到yarn
1 默认standalone模式启动sql-client命令:bin/sql-client.sh embedded默认情况下,这个sql-client上面所跑的任务,会提交到flink的standalone集群上,如果你没有bin/start-cluster.sh启动standalon集群,那么sql-client进程可以启动起来,但是在实际执行sql的时候,会报如下连接拒绝的错误2 使用yarn-session模式yarn-session模式其实就是在yarn上生成一个standalone集群原创 2021-03-12 15:48:20 · 4254 阅读 · 1 评论 -
【flink】sql 非窗口聚合-实践
当我们求今天当前时间交易额总量GVM的时候有两种写法:第一种不可以插入kafka(flink版本1.12之前不可以)第二种可以插入kafka-- 这样的sql是每来一条输出一次,形成的是回撤流,不断更新的select max(ts) as ts,sum(money) as gvmfrom jiaoyi group by dt;-- order 必须带有时间属性的字段,这样的sql形成的是append streamselectts,sum(money) over w as gvmfr原创 2021-03-08 15:47:07 · 352 阅读 · 0 评论 -
【flink】非窗口聚合与窗口聚合join说明
文章目录需求遇到的问题最终sql需求(source1 申请表 source2 结果表)要求输出4个字段:申请表当前的数量,结果表当前的数量,申请表近1小时的数量,结果表近1小时的数量,遇到的问题1.Rowtime attributes must not be in the input rows of a regular join. As a workaround you can cast the time attributes of input tables to TIMESTAMP b原创 2021-03-05 14:33:29 · 1492 阅读 · 0 评论 -
【flink】1.12 读写hive
问题解决Caused by: org.apache.flink.runtime.messages.FlinkJobNotFoundException: Could not find Flink job这是在sql-client中查询hive表遇到的问题,启动一下flink的Standlone集群即可。要把之前的启动的都关掉。从Kafka读数据写入hive,一直查不到数据?打开路径/user/hive/warehouse/flink.db/user_behavior_hive_tbl 发现好原创 2021-02-22 09:38:20 · 1838 阅读 · 1 评论 -
Flink+Prometheus+Grafana指标监控搭建
flink配置看这篇文章的人肯定是有安装flink的,安装步骤不写了。flink版本:1.10.01. 在maven仓库中下载flink对应版本的flink-metrics-prometheus的jar包,放到flink的lib目录下 https://mvnrepository.com/artifact/org.apache.flink/flink-metrics-prometheus2. 修改flink-conf.yaml metrics.reporter.promgateway.clas原创 2020-11-16 14:51:00 · 1530 阅读 · 3 评论 -
【flink】快速打包服务器运行demo
快速打包scala的flink代码,到服务器。使用bin/flink run -m yarn-cluster xxx.jar 运行wordcount代码import org.apache.flink.runtime.state.filesystem.FsStateBackendimport org.apache.flink.streaming.api.{CheckpointingMode, TimeCharacteristic}import org.apache.flink.streaming.ap原创 2020-11-13 17:09:34 · 311 阅读 · 0 评论 -
使flink支持将聚合结果写入kafka
使flink支持将聚合结果写入kafka版本 flink 1.11.0报错信息kafkaSink' doesn't support consuming update changes which is produced by node xxxxxxxxxxxxxxx更改办法1. 在源码中找到这个类 JsonFormatFactory2. 更改源码 @Override public ChangelogMode getChangelogMode() { return Chang原创 2020-11-09 09:57:44 · 639 阅读 · 0 评论 -
flink interval join 不同时间窗口计算结果相同问题
问题描述:interval join 10分钟窗口和20分钟窗口数据相同需求:一条消费数据流,主要字段card_num 和amount需要输出:card_num,10分钟内消费的总金额,20分钟内消费的总金额不同窗口得到的结果是一样的,自会按照一种窗口的大小计算。解决方法:10分钟一个窗口输出到kafka_table_120分钟一个窗口输出到kafka_table_2然后kafka_table_1再和kafka_table_2 interval join下面是一个模板.原创 2020-09-08 15:33:07 · 771 阅读 · 0 评论 -
【Flink1.11新特性】DataGen和print方便测试
利用datagen connector生成数据利用print connector把结果打印在控制台,方便查看结果测试package com.otis.scala.testimport org.apache.flink.streaming.api.TimeCharacteristicimport org.apache.flink.streaming.api.environment.StreamExecutionEnvironmentimport org.apache.flink.table.a原创 2020-07-28 16:16:20 · 1676 阅读 · 0 评论 -
Flink SQL Gateway+Flink JDBC Driver
使用Flink SQL Gateway+Flink JDBC Driver实现更方便的提交flink任务,获取想要的结果。具体文档如下,跟着readme操作就行,很简单。目前只支持flink1.10https://github.com/ververica/flink-sql-gatewayhttps://github.com/ververica/flink-jdbc-driver官方还提供了一个sql的测试工具flink-sql-benchmarkhttps://github.com/verver原创 2020-07-22 09:01:18 · 1823 阅读 · 0 评论 -
Flink Application部署方式探索
简介application模式是为每个job生成一个集群,集群随着job执行完会销毁。不同点:per-job模式和session模式都是由client执行main方法,下载需要的依赖然后生成JobGraph。随着提交任务增多,client节点下载依赖所需的带宽和生成JobGraph 产生的cpu消耗会成为整个集群提交任务的瓶颈。application模式的这个过程是在JobManager上进行的,分散到了不同的节点。使用范围这种部署方式时在flink 1.11.0开始出现的。目前仅支持yarn和原创 2020-07-17 15:03:18 · 891 阅读 · 0 评论 -
【flink报错大全】报错及解决方案
服务器部署jar时报错Caused by: org.apache.flink.streaming.runtime.tasks.StreamTaskException: Cannot instantiate user function.at org.apache.flink.streaming.api.graph.StreamConfig.getStreamOperatorFactory(StreamConfig.java:291) ~[app-test.jar:?]at org.apache.flin原创 2020-07-17 14:57:23 · 2476 阅读 · 1 评论 -
flink连接hive踩坑
先看这个文章https://ververica.cn/developers/hive-flink/我先是按照这个文章连接hive,启动sql-client时各种报错解决sql-clienr启动时报错。报错信息拉倒最下面class not found xxx,在hive_home/lib下找相对应的jar包,xxxjar包,复制到flink_home/lib下就可以解决。一个一个拷贝,拷贝一次启动一次,出现相同的错误继续拷贝。最后启动成功。吐槽我之前只是用的streaming api,感觉Fli原创 2020-07-05 18:16:40 · 838 阅读 · 0 评论 -
【亲妈级教学】Flink1.11编译
Flink1.11编译注意编译一定要用root用户编译,否则会出现各种乱七八糟的错误。我就是因为没用root差点精神崩溃,浪费好长时间。版本版本:flink-release-1.11.0-rc4hadoop.version=2.6.0-cdh5.15.1从pom文件中可以看出需要预先编译flink-shaded 11版本<flink.shaded.version>11.0</flink.shaded.version>首先编译flink-shaded1. git原创 2020-07-03 15:22:15 · 1816 阅读 · 4 评论 -
Flink sql-client操作
版本信息flink1.10从官网下载kafka-connector支持的包和json的包https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/table/connect.html在client中注册用于输出的表或者在ymal文件中注册表CREATE TABLE sink-hehe (id STRING,name STRING,age INT,home STRING) WITH (‘connector.type原创 2020-07-01 23:37:10 · 2067 阅读 · 0 评论 -
Flink监控报警系统
自己做Metric监控Task Metrics点击右上角可以添加多个指标,我目前认为通过查看这几个指标可以大概知道任务的运行情况。checkpoint摘要里有cp的一些平均最大最小信息可以看到在代码中配置的cp的信息back pressure如果出现反压,ok会变为HIGH二级标题三级标题四级标题五级标题六级标题一些知识点...原创 2020-06-08 09:32:01 · 2641 阅读 · 0 评论 -
【Flink】Trigger操作
定义了一个窗口,但是要求每来两条消息触发一次计算 .keyBy(_.id) .timeWindow(Time.days(1)) .trigger(new TTrigger) .sum(1) .process(new BankProcess) .print()=============================自定义Trigger========================================= class T原创 2020-06-09 15:11:34 · 268 阅读 · 0 评论 -
Flink再次复习
Flink运行时组件JobManager控制一个应用程序的主进程,也就是说,每个应用程序都会被一个不同的JobManager所控制执行。在session模式,只有一个jobmanagerJobManager会把jobGraph转换成一个物理层面的数据流图,叫做ExecutionGraph(有并行度的执行图),包含了所有可以并发执行的任务。JobManager会向资源管理器RM请求执行任务所需的资源,也就是slot。一旦获取到了足够的资源,就会将执行图分发到真正运行他们的TM上。在运行过程中JM原创 2020-06-06 20:07:50 · 1170 阅读 · 0 评论 -
Flink小操作
等待迟到元素不关闭窗口.timeWindow(Time.minutes(1), Time.seconds(10)).allowedLateness(Time.minutes(5))自定义trigger触发 .timeWindow(Time.minutes(1), Time.seconds(10)) .trigger(new MyTrigger)一级标题二级标题三级标题四级标题五级标题六级标题...原创 2020-06-05 12:52:24 · 115 阅读 · 0 评论 -
Flink实时数仓实现方案
先介绍一下集中主流的数仓架构- lambda缺点:有离线和实时两套代码,运维和开发成本高。对资源的占用高。- kappa缺点:业务变更时,需要重新编写代码。并且保证消息队列中的消息存放一定的时间。新启动一个任务,从某个历史时间消费消息队列中的数据,直到新任务消费消息的偏移量和旧任务消费齐平的时候。就可以停掉旧任务。旧任务产生的结果表就可以删除。- 实时OLAP变体他和kappa架构不同的是,只需要用flink做轻度的聚合,使用OLAP引擎来应对各种业务需求。三种架构的对比持续更新。原创 2020-06-01 20:46:55 · 2287 阅读 · 0 评论