Я хочу создать микросервис с использованием весенней загрузки, который может предоставлять рекомендации, сделанные с помощью ранее обученного AlsModel. (совместная фильтрация с помощью apache spark mllib) AlsModel обучается в совершенно отдельной среде, которая не подходит для производственных сценариев использования. У нас есть методы для передачи файлов или данных, хранящихся в hdfs, на наш сервисный уровень (в виде файла или передачи данных в базу данных sql). Я знаю, что могу просто сохранить кадры данных о пользователях и элементах, передать их, а затем самостоятельно рассчитать прогнозы, но я хочу иметь более простое решение, которое хорошо обрабатывает регулярные обновления. На мой взгляд, процесс следующий:




Если вы не хотите включать искровую библиотеку в приложение весенней загрузки.
Вы можете попробовать прыжок.
Deploying machine learning data pipelines and algorithms should not be a time-consuming or difficult task. MLeap allows data scientists and engineers to deploy machine learning pipelines from Spark and Scikit-learn to a portable format and execution engine.
Таким образом, вы можете использовать mleap для чтения искровой модели и использовать ее в своем весеннем загрузочном приложении.
Для большего количества вариантов использования вы можете увидеть этот проект sagemaker-sparkml-обслуживающий-контейнер. Amazon SageMaker также разработал полностью основанную на Java настройку обслуживания на базе mleap-runtime.
У вас есть два возможных решения:
1) Используйте загрузочное приложение Spring и создайте микросервис, а внутри микросервиса используйте шаблон отдыха и позвоните в Apache Livy.
2) Вариант 2: вы можете создать приложение Springboot и внутренне использовать apache spark и запускать свои задания, но здесь у вас может быть несколько ограничений.
Спасибо за ваш ответ. Поскольку мы попробовали вариант 2, мы обнаружили, что запуск собственного искра в нашем приложении имеет слишком большую задержку для нашего варианта использования. Вариант 1, кажется, имеет еще большие накладные расходы во время выполнения. Есть ли у вас опыт, чего ожидать от задержки?
В лучшем случае используйте apache spark в качестве обрабатывающего движка данных и сбрасывайте в любое хранилище и выставляйте свой микросервис из хранилища данных, я пытаюсь использовать поток Spark с экономным webflux для подачи данных в модель машинного обучения.
Спасибо. Взгляд на sagemaker действительно помог понять, как использовать mleap!