- 博客(20)
- 收藏
- 关注
原创 flinksql的表定义中,将int型转化成timestamp,从而形成窗口操作
- 可以是 latest-offset / earliest-offset / specific-offsets / group-offsets / timestamp 的任何一种。通过 ts_ltz AS TO_TIMESTAMP_LTZ(cast(eventTime as bigint), 3)将eventTime 转化成timestamp类型。-- 如果设置为 false, 则遇到缺失字段不会报错。-- 替换为您的 Kafka 连接地址。-- 替换为您要消费的 Topic。
2025-05-30 15:40:34
235
原创 flink累积窗口的使用
在实时需求中,可能会遇到每分钟累计到目前为止的pv,uv等,这时累积窗口就是一个很好的用法。当再插入1条数据时,则会在后续生成的每分钟间窗口中,将新插入的数据进行累积计算。当插入1条数据时,则会在生成的每分钟间隔内被累积统计一条。
2025-05-30 10:14:16
404
原创 hive通过java自定义udf函数以及对应的maven依赖
-不能改jar-with-dependencies-->// 创建HttpURLConnection。--指定main方法所在的类-->// 安全地获取Name。
2025-04-01 13:52:15
980
原创 doris报错排查方法
可以看到输入doris的http_x_user_channel的字符长度过长,导致报错,因此我们可以增大dorishttp_x_user_channel字段的长度来解决这个问题。
2025-03-06 15:36:46
334
原创 用户留存率的计算
- 获取所有符合条件的访问记录。-- 查找30日后再次访问的用户。-- 查找1日后再次访问的用户。-- 查找3日后再次访问的用户。-- 查找7日后再次访问的用户。-- 统计总的留存用户数。
2025-01-07 15:03:47
322
原创 flink (java)算子通过KeyedCoProcessFunction和CoProcessFunction分别实现双流join,并将join结果写入mysql
/ 输出未匹配的左流元素作为单独的结果。// 移除已处理的缓存项。// 移除已处理的缓存项。// 如果仍然没有匹配项,可以根据需要决定是否输出未匹配的左流元素。// 定时器触发时,重新尝试匹配缓存中的左流元素。// 如果有匹配项,则输出合并结果。// 没有匹配项,缓存左流元素。// 尝试与缓存中的左流元素进行连接。// 尝试立即匹配右流中的元素。
2024-12-04 17:55:07
892
原创 flinkCDC同步数据到ClickHouse,如何解决数据删除无法同步的问题
ClickHouse 是不支持 update 和 delete 操作的。作为 Sink 时,如果有 update 和 delete 操作,可以通过 CollapsingMergeTree来实现。
2024-11-28 16:08:13
440
原创 分别以upset-kafka和kafka的方式读取数据写入mysql中的对比
'properties.bootstrap.servers' = '*********:9092', -- 替换为您的 Kafka 连接地址。可以看到目的端数据与源数据保持同步。但如果是以kafka的方式读取,则不会保持同步,保持追加写入。'topic' = 'test1', -- 替换为您要写入的 Topic。-- 定义数据格式 (JSON 格式)
2024-11-19 17:30:12
671
原创 flinksql写入kafka后进行关联表数据再写入到sink端,flinksql直接关联源表数据写到sink端的对比
中间经过kafka的数据关联,再写入mysql。源表:将id为1改为2。
2024-11-01 17:17:38
392
原创 sparksql用not in 进行子查询,但查不出数据的问题
总结原因:`dim`.`dim_ip_region_res_info`表数据太大,导致用not in进行查询时,需要先把`dim`.`dim_ip_region_res_info`表数据全部查询出来再进行筛选,导致内存溢出,出现报错,虽然界面并没有显示出错误。按理来说,`ods`.`ods_channel_terminal_device_dip`表是有数据,`dim`.`dim_ip_region_res_info`没有数据,以上sql是可以查询出数据的,但是结果并没有。发现又可以输出数据。
2024-10-28 16:03:38
398
原创 flinksql的双流join,窗口topn中遇到的问题。
针对于流数据进行求topn或者去重,如果不指定窗口,用传统的批处理方式则无法实现topn或者去重的目的,会发现每条流数据都是top1。只有通过窗口的方式将数据进行收集才能针对于窗口内的数据进行去重或者求topn。则会出现:当A流数据过来时,会和B流所有历史数据以及当前数据进行join。flinksql进行双流join时,如果不指定时间范围,如下图所示。如果指定时间范围,则只会和时间范围内的数据进行join。
2024-09-07 17:51:27
444
2
原创 flink自定义udf函数和udtf函数,注册,引用以及对应的依赖
再引用: gethttps_function(`a1`.`graphic_details`)// 正则表达式匹配 src 属性中的 URL。-- Table的公共依赖 -->
2024-07-31 19:08:39
720
原创 doris或者startRocks的建表规范
表示以今天为时间基准,创建且保留多少天的历史分区数,为负数。表示以今天为时间基准,创建且保留多少天的未来分区数,为正数。因此上图的总分区就是90+60=150个分区。
2024-02-26 17:14:19
766
1
原创 flinksql去消费kafka的数据,当不使用窗口机制,有数据输出,当使用窗口机制,就没有数据输出,怎么办?
如上图,当不使用窗口时,flinksql就可以输出数据,控制台可以看出。如上图,当使用窗口机制后,flinksql一直没有数据输出,将。update_time设置为timestamp(3)
2023-11-08 14:05:05
370
3
原创 当binlog日志数据无法拉取时,怎么办
其中binlog_row_image包含:FULL,MINIMAL和noblob三种模式,FULL模式为binlog日志记录下所有的前镜像和后镜像,MINIMAL模式为binlog日志的前镜像,其只记录唯一识别列(例如唯一索引列、主键列),后镜像只记录修改列,noblob为binlog记录所有的列,就像full格式一样。binlog有statement , row 和mixed这三种格式,其中binlog_format=STATEMENT,为记录原始的语句,但是会造成主从数据不一致的问题。
2023-11-07 14:49:15
126
原创 当startRocks出现/data/starrocks/be/storage/data/目录下的.dat文件消失时,怎么办?
此时将对应的表删除后重建,观察是否可以插入,如果还是不行,就重新启动startRocks集群。
2023-11-07 13:41:45
252
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人