kafka數據分區的四種策略


kafka的數據的分區

探究的是kafka的數據生產出來之后究竟落到了哪一個分區里面去了
第一種分區策略:給定了分區號,直接將數據發送到指定的分區里面去
第二種分區策略:沒有給定分區號,給定數據的key值,通過key取上hashCode進行分區
第三種分區策略:既沒有給定分區號,也沒有給定key值,直接輪循進行分區
第四種分區策略:自定義分區

/// /    producer.send(new ProducerRecord<String, String>("test", Integer.toString(i), Integer.toString(i)));
//kafka的第一種分區方式,如果給定了分區號,那么就直接將數據發送到指定的分區號里面去
//producer.send(new ProducerRecord<String, String>("test",2,"helloworld",i+""));
//kafka的第二種分區策略,沒有給定分區號,給定了數據的key,那么就通過key取hashcode,將數據均勻的發送到三台機器里面去
//注意如果實際工作當中,要通過key取上hashcode來進行分區,那么就一定要 保證key的變化,否則,數據就會全部去往一個分區里面

/// producer.send(new ProducerRecord<String, String>("test",i+"",i+""));
//kafka的第三種分區策略,既沒有給定分區號,也沒有給定數據的key值,那么就會按照輪循的方式進行數的發送
producer.send(new ProducerRecord<String, String>("test",i+""));
//kafka的第四種分區策略,自定義分區類,實現我們數據的分區


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM