Данные потока сиддхи без схемы

У меня есть исходные данные из ActiveMQ, проблема в том, что эти данные не имеют фиксированной структуры, поэтому, когда я определяю поток, он выдает ошибку несовместимого типа данных, есть ли способ обусловить исходный поток каким-либо условием ?

Заранее спасибо.

/*
* Origin of data.
*/
@source(type='jms',
        @map(type='csv', delimiter=',', fail.on.unknown.attribute='false'),
        factory.initial='org.apache.activemq.jndi.ActiveMQInitialContextFactory',
        provider.url='tcp://127.0.0.1:61616',
        destination='simulatedData',
        connection.factory.type='queue',
        connection.factory.jndi.name='QueueConnectionFactory',
        transport.jms.SubscriptionDurable='true',
        transport.jms.DurableSubscriberClientID='wso2SPclient1')


define stream FileSourceProductionStream(type string, time long, studentId string, fileId string, totalAccesses float); /* totalAccesses : float Incompatible DataType*/
define stream TaskSourceProductionStream(type string, time long, studentId string, taskId string, deadline long); /*deadline: long Incompatible DataType*/

person mtg1989    schedule 09.05.2018    source источник


Ответы (1)


В сиддхи исходный поток должен иметь схему входных данных. Следовательно, мы не могли получить данные без схемы в определенный поток.

Одним из возможных решений для вашего сценария является определение потока со всеми возможными входными атрибутами и предварительное форматирование входных данных в форматы JSON [1], XML [2] или TEXT [3], которые поддерживаются расширениями siddhi-map, с имена и значения атрибутов. Для отсутствующих атрибутов в полезной нагрузке ввода json / xml / text не будет ключа или тега.

Затем используйте конфигурацию @map (fail.on.missing.attributes = 'false) в исходной конфигурации.

Затем для всех недостающих атрибутов во входной полезной нагрузке соответствующему атрибуту входного потока будет присвоено значение NULL.

[1] https://wso2-extensions.github.io/siddhi-map-json/api/4.0.20/

[2] https://wso2-extensions.github.io/siddhi-map-xml/api/4.0.12/

[3] https://wso2-extensions.github.io/siddhi-map-text/api/1.0.16/

person Minudika Malshan Gammanpila    schedule 14.05.2018