Парсер SpringXD JSON для Oracle DB

Я пытаюсь использовать SpringXD для передачи некоторых данных метрик JSON в базу данных Oracle.

Я использую этот пример отсюда: Пример SpringXD

Выполняется HTTP-вызов: EarthquakeJsonExample

Моя оболочка cmd.

 stream create earthData --definition "trigger|usgs| jdbc --columns='mag,place,time,updated,tz,url,felt,cdi,mni,alert,tsunami,status,sig,net,code,ids,souces,types,nst,dmin,rms,gap,magnitude_type' --driverClassName=driver --username=username --password --url=url --tableName=Test_Table" --deploy

Я хотел бы зафиксировать только часть свойств этого ответа JSON в заданных столбцах таблицы. Я дошел до того, что он не выдает ошибку при хешировании, а вместо этого просто добавляет в столбец кучу нулей.

Я думаю, что моя проблема заключается в разборе самого JSON. Так как на самом деле свойства находятся в массиве Features. Сможет ли SpringXD отличить это для меня из коробки или мне нужно будет писать кастомный процессор?

Вот посмотрите, как выглядит база данных после успешного выполнения cmd.

Что помещается в мою базу данных

Любой совет? Я новичок в анализе JSON таким образом, и я не совсем уверен, как найти больше документации или примеров с самим SpringXD.

Вот ссылка на документацию: SpringXD Doc


person CoffeePeddlerIntern    schedule 30.10.2014    source источник


Ответы (1)


Преобразователь в приемнике JDBC ожидает простой документ, который можно преобразовать в карту ключей/значений. Вам нужно будет добавить преобразователь вверх по течению, возможно, в ваш usgs процессор или даже в отдельный процессор. Вы можете использовать выражение #jsonPath, чтобы извлечь ключ свойств и сделать его полезной нагрузкой.

person Gary Russell    schedule 30.10.2014