1

我正在尝试使用 SpringXD 将一些 JSON 指标数据流式传输到 Oracle 数据库。

我从这里使用这个例子:SpringXD Example

正在进行 Http 调用:EarthquakeJsonExample

我的外壳命令。

 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

4

1 回答 1

2

JDBC 接收器中的转换器需要一个可以转换为键/值映射的简单文档。您需要在上游添加变压器,可能在您的usgs处理器甚至单独的处理器中。您可以使用#jsonPath表达式来提取属性键并使其成为有效负载。

于 2014-10-30T20:48:20.277 回答