HI
1. 当kafka consumer的并发大于kafka partition的情况,多余的并发会怎么样?->这句话是想问当flink
slot数大于kafka partition的时候多的slot(其实就是在slot上创建的kafka consumer)会空跑。
如图:kafka partiton为10个,但是flink slot为15,则有5个节点是空跑的状态。
2. 当kafka consumer并发等于kafka partition个数,但是kafka
能否起一个本地程序,设置断点,看看读取数据那块儿逻辑是不是有问题
Best,
Terry Wang
> 在 2019年9月23日,下午5:11,ShuQi 写道:
>
> Flink版本为1.9.0,基于OrcTableSource进行ORC文件的读取,碰到一个问题,程序没有任何异常,顺利执行完毕,但又部分字段读出来始终为null,但实际是有值得,通过直接读取文件的方式可以读取到全部字段。
>
>
> 请问大家是否有什么好的建议,谢谢!
>
你好,可以考虑在open方法里启动一个定时的线程去取mysql里去数据和进行缓存更新。
当有新数据流入到你的系统中时,可以判断定时线程数据加载是否完成,当数据加载完成后再进行数据处理。
希望能有帮助~
Best,
Terry Wang
> 在 2019年9月24日,上午10:45,haoxin...@163.com 写道:
>
>
1. 当kafka consumer的并发大于kafka partition的情况,多余的并发会怎么样?
2. 当kafka consumer并发等于kafka partition个数,但是kafka
partition个别分区没有数据的情况,这个空的partition的consumer线程会怎么样?对barrier和watermark的生成有什么影响?
gaofeilong198...@163.com
Hi
像你描述的,单盘对单任务还存在 IO 瓶颈,这里是单 container 吗?像前面大家说的,你需要确认这么大的 IO
访问是符合预期的,如果符合预期的话,你可以尝试增加 blockcache 和 memtable 的大小,将更多的数据放到内存。
另外,你使用的是什么 state 类型,valuestate 和 liststate 的话,能否换成 mapstate 来处理。同时,你可以看下
rocksdb 的 log,看看是否有什么可以优化的地方
Best,
Congxian
Biao Liu 于2019年9月23日周一 下午2:39写道:
> Hello,
>
>
1. 首先你描述的场景,不只存在于 Async IO operator,其他 operator 也会有类似问题
2. Flink 的 exactly once 是针对 Flink 内部而言,例如 state 等,[1]
3. 如果你想针对外部系统也保证 exactly once 语义,需要对应的 connector 支持 [2]
1.
https://ci.apache.org/projects/flink/flink-docs-release-1.9/internals/stream_checkpointing.html
2.