Кафка очень распространена.Так много компаний используют это.Я полностью понимаю, как работают Кафка и Спарк, и у меня есть опыт работы с ними обоими.Что я не понимаю, так это варианты использования.Почему вы используете Kafka со Spark, а не только со Spark?
На мой взгляд, основное использование Kafka - это промежуточная область в конвейере ETL для потоковой передачи данных в реальном времени.
Я предполагаю, что есть кластер источника данных, в котором изначально хранятся данные. Это может быть, например, Vertica, Cassandra, Hadoop и т. Д.
Затем существует кластер обработки, который считывает данные из кластера источника данных.и запишите его в распределенный журнал Kafka, который в основном является промежуточным кластером данных.
Затем существует другой обрабатывающий кластер - кластер Spark, который считывает данные из Kafka, выполняет некоторые преобразования и агрегирование данных изапишите его в конечный пункт назначения.
Если то, что я считаю правильным, я могу просто вырезать Кафку из середины, и в программе Spark, которая работает на кластере Spark, драйвер будет считывать данные из оригинала.источник и распараллелит его для обработки.В чем преимущество размещения Кафки посередине?
Можете ли вы дать мне конкретные примеры использования, когда Кафка полезен, а не просто читает данные в Spark, не проходя через Кафку?