Re: Flink窗口状态清除疑问

2023-08-02 文章 yidan zhao
首先你窗口是30min,刚刚开始肯定会是涨的。
其次,后续稳定后,继续涨可能是因为流量在变化。
最后,流量不变情况下,还可能受到延迟的影响。

lxk  于2023年7月25日周二 11:22写道:
>
> 相关配置:
> Flink:1.16
>
> | Checkpointing Mode | Exactly Once |
> | Checkpoint Storage | FileSystemCheckpointStorage |
> | State Backend | EmbeddedRocksDBStateBackend |
> | Interval | 8m 0s |
>
>
> 我有一个程序,主要是用来统计一些热门商品之类的数据
> 具体代码如下:
> .keyBy(data -> data.getShopId() + data.getYh_productid())
> .window(TumblingEventTimeWindows.of(Time.minutes(30)))
> .sum("count").name("clickCount");
>
>
> 按照官方文档的说法,状态在窗口触发后应该就会清除。但是我在webui上以及grafana监控上看到的checkpoint大小一直在增长。
> webui:https://pic.imgdb.cn/item/64bf3efa1ddac507cc6484d5.jpg
> grafana:https://pic.imgdb.cn/item/64bf3fb71ddac507cc65a2c4.jpg
> 想知道下这个具体的原因可能是啥


Re: Flink ML

2023-08-02 文章 yidan zhao
这个取决于你是什么模型,比如python中sklearn的大多模型都可以导出成pmml格式模型,然后java用jpmml库就可以导入进行预测。
如果是tensorflow模型,也有,只不过我忘记了,你可以找找。

15904502343 <15904502...@163.com> 于2023年8月1日周二 16:48写道:
>
> 您好
> 我想知道是否有代码示例,可以在Flink程序中加载预先训练好的编码模型(用python编写)


Re: 如何把自己新增的定制化connector deploy snapshot版本到私服仓库

2023-08-02 文章 Jiabao Sun
你好,

不需要将所有的依赖都改为snapshot,仅需要将我们项目内的版本加上 snapshot 后缀。
可以在项目中统一替换版本号 1.x.x -> 1.x.x-SNAPSHOT,或者使用 mvn versions:set 
-DnewVersion=1.x.x-SNAPSHOT 设置。


> 2023年8月2日 下午2:25,jinzhuguang  写道:
> 
> 非常感谢你的提醒,我现在用maven工具修改了所有的版本号为snapshot,但是flink-connectors(connectors的父模块)也变成snapshot,打包的时候仓库里找不到他了,而且也没法想flink-runtime这些包手动改下版本好,这种该怎么办
> 
>> 2023年7月27日 11:05,Jiabao Sun  写道:
>> 
>> 你好,
>> 
>> 通常在 pom 中引入 maven-deploy-plugin,并且通过  声明私服地址,使用 mvn 
>> clean deploy 命令部署到nexus私服。
>> 部署到 SNAPSHOT 仓库需要项目版本号包含 -SNAPSHOT 后缀,可以在IDE中全局替换,也可以使用 
>> versions-maven-plugin 统一设置。
>> 
>> 
>>   
>>   
>>   
>>  org.apache.maven.plugins
>>  maven-deploy-plugin
>>  2.8.2
>>  
>>${maven.deploy.skip}
>>  
>>
>>   
>>   
>> 
>>   
>>   
>>   private-snapshots
>>   
>> https://xxx.xxx.xxx/nexus/content/repositories/snapshots/
>>   
>>   
>>   private-releases
>>   https://xxx.xxx.xxx/nexus/content/repositories/releases/
>>   
>>   
>> 
>> 
>> 
>>> 2023年7月27日 上午10:48,jinzhuguang  写道:
>>> 
>>> 我是基于flink 1.16.0开发的,由于版本号没有snapshot,现在又无法发布release版本的,我该怎么办?



Re: 如何把自己新增的定制化connector deploy snapshot版本到私服仓库

2023-08-02 文章 jinzhuguang
非常感谢你的提醒,我现在用maven工具修改了所有的版本号为snapshot,但是flink-connectors(connectors的父模块)也变成snapshot,打包的时候仓库里找不到他了,而且也没法想flink-runtime这些包手动改下版本好,这种该怎么办

> 2023年7月27日 11:05,Jiabao Sun  写道:
> 
> 你好,
> 
> 通常在 pom 中引入 maven-deploy-plugin,并且通过  声明私服地址,使用 mvn 
> clean deploy 命令部署到nexus私服。
> 部署到 SNAPSHOT 仓库需要项目版本号包含 -SNAPSHOT 后缀,可以在IDE中全局替换,也可以使用 versions-maven-plugin 
> 统一设置。
> 
> 
>
>
>
>   org.apache.maven.plugins
>   maven-deploy-plugin
>   2.8.2
>   
> ${maven.deploy.skip}
>   
> 
>
>
> 
>
>
>private-snapshots
>
> https://xxx.xxx.xxx/nexus/content/repositories/snapshots/
>
>
>private-releases
>https://xxx.xxx.xxx/nexus/content/repositories/releases/
>
>
> 
> 
> 
>> 2023年7月27日 上午10:48,jinzhuguang  写道:
>> 
>> 我是基于flink 1.16.0开发的,由于版本号没有snapshot,现在又无法发布release版本的,我该怎么办?



Re: flink sql作业状态跨存储系统迁移问题

2023-08-02 文章 Hangxiang Yu
Hi, 我理解可以有两种方式:
1. 设定从某个存储集群上恢复并向另一个存储集群上快照,即设置[1]为 HDFS地址,[2] 为后面的对象存储地址
2. 还是在HDFS集群上启停作业,设置 savepoint 目录[3]到对象存储

关于 state processor api,目前 sql 作业确实操作起来比较困难,只能从日志里获取 uid 等信息,以及理解 sql
实际产生的状态才能使用;

[1]
https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/deployment/config/#execution-savepoint-path
[2]
https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/deployment/config/#state-checkpoints-dir
[3]
https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/deployment/config/#state-savepoints-dir

On Sat, Jul 29, 2023 at 11:09 AM casel.chen  wrote:

> 我们要将当前在Hadoop Yarn上运行的flink
> sql作业迁移到K8S上,状态存储介质要从HDFS更换到对象存储,以便作业能够从之前保存点恢复,升级对用户无感。
> 又因为flink作业状态文件内容中包含有绝对路径,所以不能通过物理直接复制文件的办法实现。
>
>
> 查了一下官网flink state processor api目前读取状态需要传参uid和flink状态类型,但问题是flink
> sql作业的uid是自动生成的,状态类型我们也无法得知,请问有没有遍历目录下保存的所有状态并将其另存到另一个文件系统目录下的API ? 感觉state
> processor api更适合stream api写的作业,sql作业几乎无法处理。是这样么?



-- 
Best,
Hangxiang.