Spark: Как использовать собственный разделитель при записи данных в Kafka - PullRequest
0 голосов
/ 28 февраля 2019

При записи данных в kafka можно использовать столбец с именем key, который будет использоваться для выбора раздела:

df.selectExpr("CAST(key AS STRING)", "CAST(value AS STRING)")
.write
.format("kafka")
.option("kafka.bootstrap.servers", "host1:port1,host2:port2")
.option("topic", "topic1")
.save()

Мне нужно вручную выбрать раздел, независимо отключ .Можно ли указать раздел вручную?Или дать пользовательский разделитель, чтобы я мог контролировать, какова логика выбора раздела?

1 Ответ

0 голосов
/ 28 февраля 2019

Вам просто нужно добавить опцию kafka.partitioner.class с вашим пользовательским разделителем с соответствующей логикой.

val dataStreamWriter: DataStreamWriter[Row] = ???
dataStreamWriter.option("kafka.partitioner.class", "com.example.CustomKafkaPartitioner")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...