您好,
我是flink一名新用户,最近在项目中需要用到flink完成一项业务功能,但目前遇到了一些一些困难,想咨询你一下是否有合适的解决方案,期待您的回信
问题背景:我们需要基于股票交易流水和股票行情去计算股票账户层面的一些指标(为简化场景,假定账户指标只有持仓量,买入均价,市值),页面前端20s刷新一次,指标计算想基于flink的dataStream
Api实现,但遇到一个问题,目前初步想法如下,请flink大神帮忙指导
初步方案设想:假定stream1: 股票交易流水, stream2:股票行情流水
从 plan 上看起来在 sink 节点这里因为推导不出 upsert key 加上了 SinkUpsertMaterializer[1],
这里会按照 sink 表定义的主键进行 keyby shuffle[2], 只能保证最终一致性.
另外你的操作描述中 schema 为三列, 但 DDL 是四列, 且格式乱了.
一些可能的建议如下
1. 如果上游数据有主键并且也是 rowid 的话, 建议在 Flink source 表上声明 PK, 避免额外生成 materializer
节点; 同时注意在声明 Flink source 表时不要带上 metadata 列 (比如 op),
+1 有遇到过类似 fd 泄露的问题。注意 close 的时候buffer 数据刷盘, 然后资源关闭,future cancel。
Best Regards,
Ran Tao
Weihua Hu 于2023年3月8日周三 16:52写道:
> Hi,
>
> 通过代码看作业在Failover 时的确会有 HBaseClient 的资源泄露。
>
> 在 HbaseDimensionAsyncFunc 中重写一下 close 方法,释放掉 HBaseClient。
>
> Best,
> Weihua
>
>
> On Wed, Mar 8, 2023 at 4:19 PM
Hi,
通过代码看作业在Failover 时的确会有 HBaseClient 的资源泄露。
在 HbaseDimensionAsyncFunc 中重写一下 close 方法,释放掉 HBaseClient。
Best,
Weihua
On Wed, Mar 8, 2023 at 4:19 PM aiden <18765295...@163.com> wrote:
> Hi
> 我在使用Async Hbase时频繁遇到too many open file异常,程序自动重启后会立即报错,具体报错日志如下:
> 2023-03-08 16:15:39
>