2017-01-20 2 views
1

У меня есть работа Spark для пакетного режима (с использованием наборов данных), которая выполняет некоторые преобразования и использует данные в NOSQL.Как использовать преобразование на основе данных в Spark Streaming?

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

Я стараюсь избегать 2 копий кода, чтобы иметь дело с аналогичной структурой.

+0

Пожалуйста, разместите более подробную информацию - что вы делаете, некоторые примеры кода и версию Spark. В Spark 2.0 у вас есть структурированная потоковая передача, поэтому потоковые базы данных готовы к использованию. –

+0

От http://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#overview: «Структурированное потоковое вещание по-прежнему является ALPHA в Spark 2.1 и API все еще экспериментальны ». который я читаю как «не для использования в производстве»/«знаю, но пока не использую». –

ответ

0

Вы можете использовать transform оператор потокового (как описано в the scaladoc):

transform[U](transformFunc: (RDD[T]) ⇒ RDD[U])(implicit arg0: ClassTag[U]): DStream[U] 

Вернуться новый DStream, в котором каждый РДД генерируется путем применения функции на каждом РДУ «этого» DStream.