2017-08-25 4 views
0

J'ai de la difficulté à comprendre le ProducerRecord.Kafka Producteur Timestamp

Auparavant, je construisais le ProducerRecord comme ceci:

new ProducerRecord<String, String>("my-topic", "key", "value") 

Je voudrais passer un horodatage plus alors j'ai décidé de vérifier les documents et a trouvé que le constructeur permet en effet le passage d'un horodatage. Mais il a aussi nécessaire spécifier une partition comme ceci:

new ProducerRecord(String topic, 
       Integer partition, 
       Long timestamp, 
       K key, 
       V value) 

Je suis confus au sujet de quoi passer comme paramètre de partition depuis le constructeur précédent je manipulait pour moi.

Répondre

2

Vous pouvez toujours utiliser ce constructeur sans aucun problème. Vous aurez pass partition null dans ce constructeur et DefaultPartitioner s'occupera de l'assignation du partitionneur. Nommez juste que vous utilisez une nouvelle API KafkaProducer. L'horodatage ne fonctionne pas pour les anciens producteurs basés sur scala.