Один из вариантов - использовать MLeap для работы в Spark PipelineModel онлайн с без зависимостей от Spark / SparkContext . Не нужно использовать SparkContext, так как он потеряет время подсчета для одной записи от ~ 100 мс до однозначных микросекунд.
Чтобы использовать ее, вы должны:
MLeap хорошо интегрирован со всеми этапами Pipeline Stages, доступными в Spark MLlib (за исключением LDA на момент написания этой статьи ). Однако, если вы пользуетесь пользовательскими оценщиками / трансформерами, это может немного усложниться.
Взгляните на FAQ для MLeap для получения дополнительной информации о пользовательских трансформаторах / оценках, и интеграция.
Ааааа ... Мне нужно разобраться в проблеме после 5 минут публикации вопроса ..
Проблема заключалась в том, что я импортировал неправильный таймер, который был недостаточно неправильным, чтобы вызвать явные проблемы с выполнением кода (возможно, урок для следующего человека).
Проблема была импортирована благодаря моей IDE
import { timer } from "rxjs/internal/observable/timer";
, но правильный импорт -
import { timer } from 'rxjs';
, и теперь мой код работает, как и ожидалось, по волшебству