Учебные пособия, представленные в потоковом процессоре wso2, не работают должным образом, в частности, «Создание прогнозов в реальном времени».

Я пытаюсь воспроизвести учебник «Создание прогнозов в реальном времени», приведенный в документации по потоковому процессору wso2, который предсказывает, будет ли груз соответствовать требованиям с учетом температуры и плотности.

Я использую предварительно обученный файл PMML (Sweet.pmml), указанный в документации.

@App:name('SugerSyrupPredictionApp')

@source(type='http', receiver.url='http://0.0.0.0:5006/SugarSyrupEP', @map(type = 'json'))
define stream SugarSyrupDataStream (temperature double, density double);

@sink(type='log', prefix='Predicted next sugar syrup shipment:')
define stream PredictedSugarSyrupDataStream (nextTemperature double, nextDensity double, decision bool);

from SugarSyrupDataStream#pmml:predict("/home/user/Sweet.pmml", temperature, density)
select *
insert into PredictedSugarSyrupDataStream;

Это ошибка, которую показывает Сиддхи, хотя код соответствует документации.

Другое определение, такое же, как у output 'define stream PredictedSugarSyrupDataStream' (двойная температура, двойная плотность, ...) уже существует как '@sink (type = "log", prefix = "Прогнозируемая следующая отгрузка сахарного сиропа:") определить поток PredictedSugarSyrupStream (nextTemperature double, ..., решение bool) '

Кстати, на вкладке приветственной страницы (PmmlModelProcessor) есть образец, который отлично работает с тем же синтаксисом.


person dilip sundar    schedule 17.04.2019    source источник
comment
Кажется, что PMML, приведенный в документации, не соответствует коду сиддхи, представленному в руководстве. Вы можете следовать примерам, представленным в редакторе (PmmlModelProcessor), который охватывает ту же концепцию. Проблема здесь в том, что вывод, сгенерированный функцией predic (), и определение PredictedSugarSyrupDataStream отличаются из-за несоответствия PMML и кода.   -  person Sajith Eshan    schedule 17.04.2019


Ответы (1)


Похоже, что Сиддхи сбит с толку, когда 2 потока имеют одинаковую сигнатуру; количество и тип параметров.

Я обошел эту проблему, добавив ключевое слово as для явного сопоставления выбранных столбцов с целевым потоком. В вашем случае это должно быть примерно так:

select attr1 as nextTemperature, attr2 as nextDensity double, attr3 as decision bool
insert into PredictedSugarSyrupDataStream;
person ikken    schedule 29.11.2020