Да, вы можете увеличить раздел по коду. Используйте метод AdminClient.createPartitions.
Метод API AdminClients.createPartitions Документ API
public abstract CreatePartitionsResult createPartitions(java.util.Map<java.lang.String,NewPartitions> newPartitions,CreatePartitionsOptions options)
Увеличение количества разделов темприведены в качестве ключей newPartitions согласно соответствующим значениям. Если разделы увеличены для темы, у которой есть ключ, это повлияет на логику раздела или порядок сообщений.
Эта операция не является транзакционной, поэтому она может завершиться успешно для некоторых тем при сбоедля других.
Может пройти несколько секунд после того, как этот метод вернёт успех, чтобы все брокеры узнали, что разделы созданы. В течение этого времени descriptionTopics (Коллекция) может не возвращать информацию о новых разделах.
Как использовать:
public static void createPartitions(String topicName, int numPartitions) {
Properties props = new Properties();
props.put("bootstrap.servers","localhost:9092");
AdminClient adminClient = AdminClient.create(props);
Map<String, NewPartitions> newPartitionSet = new HashMap<>();
newPartitionSet.put(topicName, NewPartitions.increaseTo(numPartitions));
adminClient.createPartitions(newPartitionSet);
adminClient.close();
}