java &&和||的执行顺序与优先级 结论:&&优先级高,但却不是先计算,而是把&&左右两边的计算相当于套了个括号,看成了一个整体,再按照从左到右的顺序计算;给||打上括号,把原有&&的高优先级抹除,可以看到。b却因为&&的短路而未计算右侧两个异常除法;b因为计算了最右侧的1/0==1报错;a正在运行,结果为true;a因为计算最右侧逻辑报错;
关于--Flink的从Kafka中读取再写入Kafka如何实现的ExactlyOnce的理解 要保证我偏移量的state,保存到了statebacked中,才让这一次send中的数据真正保存到kafka也就是所有subtask的这次checkpoint都完成了,才提交事务,让数据真正写入kafka
Flink中Max和MaxBy的区别 如果使用max,除了keyBy的字段和参与比较大小的字段,如果还有其他字段,为了返回结果对齐,返回的结果的其他字段就是第一次出现的字段使用maxBy,除了keyBy的字段和参与比较大小的字段,如果还有其他字段,会返回最大值所在数据全部的数据
Flink的Transformation中KeyBy的计算逻辑的自己思考,有问题请纠正。。 使用特殊的murmurHash求得一个hash值想要将这个hash值按照我给定的分区数parallelism均匀划分,最大分区数为128当分区数大于最大分区数时,会出现有的机器永远不会有数据的情况,不管行不行都没有意义假设给定的分区数parallelism为8因为分区数肯定不能大于最大分区数128,所以用hash值摸除以128,这样得到的数不管分区数多少肯定小于128取模得到的数有128个(0-127),想要将这128个数,平均分配到8个分区中,可以用8/128再乘以这个数,就是1/16
配置Kafka的参数auto.offset.reset时earliest和latest的区别 earliest 和 latest 在有 偏移量offset 时,效果是一样的,都会从 偏移量offset 处继续消费;当没有 偏移量offset 时, ealiest 从头消费,latest 消费新产生的数据