Интегрируйте PMML в MongoDB

Я построил модель контролируемого обучения в R и экспортировал правила модели / принятия решений в формат PMML. Я надеялся, что смогу напрямую связать PMML с MongoDB, используя что-то вроде библиотеки JPMML (поскольку JPMML хорошо интегрируется с PostgreSQL).

Однако кажется, что единственный способ связать MongoDB с моим XML-файлом PMML - это использовать каскадный шаблон через Hadoop. Поскольку мой набор данных невелик (<50 ГБ), мне действительно не нужен Hadoop.

Кто-нибудь использовал PMML с MongoDB до того, как это не связано с необходимостью идти по маршруту hadoop? Большое спасибо


person qwerty    schedule 09.03.2015    source источник


Ответы (1)


По сути, у вас есть два варианта:

  1. Преобразуйте файл PMML во что-то, что вы можете выполнить внутри MongoDB.
  2. Разверните файл PMML «изначально» в каком-либо внешнем сервисе и подключите к нему MongoDB.

50 ГБ по-прежнему довольно много данных, поэтому вариант №1 явно предпочтительнее с точки зрения простоты настройки и скорости выполнения. Можно ли написать пользовательскую функцию Java (UDF) для MongoDB? Если это так, то можно будет запустить библиотеку JPMML внутри MongoDB. В противном случае вы можете увидеть, можно ли преобразовать вашу модель PMML в сценарий SQL. Например, последние версии программного обеспечения KNIME (2.11.1 и новее) содержат узел преобразования «PMML в SQL».

Если вы вернетесь к варианту № 2, следующая техническая статья может стать для вас источником вдохновения: Применение прогнозных моделей к данным базы данных: подход веб-службы REST.

person user1808924    schedule 09.03.2015
comment
Спасибо за это. У MongoDB есть драйвер Java, поэтому я предполагаю, что библиотека JPMML должна работать в нем напрямую? - person qwerty; 09.03.2015
comment
Драйвер Java позволяет внешним приложениям получать доступ к данным, хранящимся внутри MongoDB. Вам нужно что-то, что позволяет выполнять Java внутри MongoDB. Или, говоря другими словами, вам нужно уметь писать хранимую процедуру MongoDB на языке Java. - person user1808924; 09.03.2015