2016-07-06 3 views
3

Мне было интересно, можно ли обеспечить ввод искрового потока из StreamSets. Я заметил, что потоки Spark не поддерживаются в назначении коннекторов StreamSets https://streamsets.com/connectors/.Подключение потока Spark к потоковым входам

Изучение, если есть другие способы подключения их к образцу POC.

ответ

4

Лучший способ обработки данных, поступающих из Сборщика данных Streamsets (SDC) в Apache Spark Streaming, - это записать данные в тему Kafka и прочитать данные оттуда. Это позволяет вам выделять Spark Streaming из SDC, так что оба могут продолжать свою собственную скорость обработки.

SDC microbatches определяется количеством записей, в то время как Spark Streaming microbatches продиктованы временем. Это означает, что каждая партия SDC не может (и, вероятно, не будет) соответствовать партии Spark Streaming (скорее всего, пакет Spark Streaming, вероятно, будет иметь данные из нескольких SDC-пакетов). SDC «фиксирует» каждую партию, как только она отправляется в пункт назначения, - с партией, записанной в Spark Streaming, будет означать, что каждая партия SDC должна соответствовать партии Spark Streaming, чтобы избежать потери данных. Возможно также, что Spark Streaming «перепродает» уже выполненные пакеты из-за обработки или сбоев узлов. SDC не может повторно обрабатывать совершенные партии - поэтому, чтобы оправиться от подобной ситуации, вам действительно нужно написать что-то вроде Kafka, что позволит вам повторно обрабатывать партии. Поэтому наличие прямого соединителя, который пишет из SDC в Spark Streaming, будет сложным и, вероятно, будет иметь проблемы с потерей данных.

Короче говоря, лучшим вариантом будет SDC -> Kafka -> Spark Streaming.

Смежные вопросы