如果使用一个常量字段作为key呢。是不是就可以实现你要的效果了
yidan zhao <[email protected]> 于2021年2月9日周二 下午3:24写道: > 当然,如果是 randomeKey %30 这样,虽然最终效果差不多,但却导致30个sink batch可能都集中到某几个并发实例上。 > > yidan zhao <[email protected]> 于2021年2月9日周二 下午3:22写道: > > > 引入随机key最大问题是,本身希望batch方式sink,key太随机压根无法batch。 > > > 如果randomKey%1024这样分桶到1024的话,也不行,会导致每个bucket中数据量太少,进而基本都是timeout而sink,而不是达到batchSize,换言之,每次sink都会有1024个并发sink次数。 > > 实际后端的存储可能不期望这么高并发,本身做batch的目的就是希望降低sink次数。 > > > > > 我希望的是按照并发度(比如30并发度)就每次sink30次(或超过30次,因为可能>batchSize,如果都<batchSize,则30个并发都超时sink,也就是一次触发会30次sink)。 > > > > yidan zhao <[email protected]> 于2021年2月9日周二 下午3:04写道: > > > >> 如题,当前flink不支持非keyedStream使用定时器,不清楚有啥解决方法吗? > >> > >> 目前我实现一个sink,带超时希望用到timerservice。但是不支持。 > >> 同时不希望使用keyedStream,因为会导致数据不均衡。 > >> > >> 除了引入随机key外还有什么方法吗。 > >> > > >
