在 Kafka 生产者中指定空分区
Specifying a null partition in a Kafka Producer
Kafka ProducerRecord api 有几个不同的构造函数。
我希望能够指定主题、时间戳、键和值;但不是分区。
我能看到的最接近的选项如下,但它迫使我指定分区号:
public ProducerRecord(String topic, Integer partition, Long timestamp, K key, V value)
是否可以只把null
放在那里,然后使用基于键的标准分区算法;或者这会产生不需要的副作用吗?
If a valid partition number is specified that partition will be used when sending the record. If no partition is specified but a key is present a partition will be chosen using a hash of the key. If neither key nor partition is present a partition will be assigned in a round-robin fashion.
不允许指定分区的构造函数也在内部将 null 传递给该参数;所以使用 null 会给出预期的行为
Kafka ProducerRecord api 有几个不同的构造函数。
我希望能够指定主题、时间戳、键和值;但不是分区。
我能看到的最接近的选项如下,但它迫使我指定分区号:
public ProducerRecord(String topic, Integer partition, Long timestamp, K key, V value)
是否可以只把null
放在那里,然后使用基于键的标准分区算法;或者这会产生不需要的副作用吗?
If a valid partition number is specified that partition will be used when sending the record. If no partition is specified but a key is present a partition will be chosen using a hash of the key. If neither key nor partition is present a partition will be assigned in a round-robin fashion.
不允许指定分区的构造函数也在内部将 null 传递给该参数;所以使用 null 会给出预期的行为