我的流定义如下: -
ingestToBroker = custom-produducer -spring.cloud.stream.bindings.output.content-type.content-type = application/json -spring.cloud.cloud.bindings.bindings.output.producer.headermode =原始>:kafkatopic1
dataProcessor =:kafkatopic1> custom-processor-spring.cloud.stream.stream.bindings.output.output.content-type = application/json -sson -spring.cloud.cloud.stream.stream.bindings.input.input.consumer.consumer.consumerer。
mycountsone =:dataprocessor.custom Processor> field-value-counter-field-name = messagestatusone
mycountstwo =:dataprocessor.custom Processor> field-value-counter -field-name = messagestatusone
myfilesink =:kafkatopic2> file -directory = c: usr sdflogs -name = my-file-sink2
当前方案
1) ingestTobRoker 和 dataprocersor 效果很好。我得到所需的JSON输出如下,该输出已发送到Kafkatopic1,然后通过处理器和Kafkatopic2发送到File。
{" MessagesTatusOne":"接收"," DateTimeOne":" 2017.09.26.26.22.03.34"," Messagestatustustwo":"处理"," DateTimetWo":" 2017.09.26.26.26.22.03.34"}{" Messagestatusone":"错误"," DateTimeOne":" 2017.09.26.21.06.45"," Messagestatustwo":"不可用"," dateTimetWo":" 2017.09.26.26.21.06.06.45"}{" Messagestatusone":"接收"," DateTimeOne":" 2017.09.26.21.06.52"," Messagestatustwo":"处理"," DateTimetWo":" 2017.09.26.26.21.06.06.52"}{" Messagestatusone":"评论"," DateTimeOne":" 2017.09.26.21.06.59"," Messagestatustustwo":" hold"," datetimetwo":" 2017.09.26.26.21.06.06.59}
自定义生产商和自定义处理器是我部署的独立应用程序,它基本上更改了数据,前者每隔几秒钟就推出了新的JSON记录。
2)所有流定义也是如此。它们都很好,我得到了所需的JSON。除 field-value-counter 定义 mycountsone和mycountsone和mycountstwo
问题1)在我的本地SCDF服务器上进行分析的仪表板图片
似乎没有活跃。没有用于指标和可视化的下属。我真的需要它可以工作,而我对SCDF非常陌生。我想念什么?我该如何工作?
2)在旁注上,我正在尝试使用SCDF配置MarkLogic,但是SCDF会接受ODBC驱动程序吗?如果我问所有这一切,请原谅我。谢谢。
更新我刚刚在春季数据流启动控制台
中注意到了这个错误"无法获得jedis连接嵌套的异常是redis.clients.jedis.exceptions.jedisconnectionexception"
我们是否需要向我的自定义处理器添加任何Redis依赖项,将其部署为独立应用程序?这是我的春季启动版本 - 1.5.6.Release 。谢谢。
要进一步简化手头的问题,让我们在环境中尝试以下流。一旦成功,您就可以查看可能出问题的其他流。
流:
dataflow:>流创建foo-定义" http -port = 9000 | field-value-counter -fieldName = messagestatusone -name = bar" - deploy
数据:
dataflow:> http post -target http://localhost:9000 -data {" messagestatusone":"接收"," dateTimeOne":" 2017.09.26.22.03.34"," messageStatustustustwo" dateTimetwo":" 2017.09.26.22.03.34"} 帖子(文本/平原)http://localhost:9000 {" messagestatusone":"接收"," dateTimeOne":" 2017.09.26.26.22.03.34"," Messagestatustwo":"已加工".03.34"} 202接受
列表:
dataflow:>field-value-counter display --name bar
Displaying values for field value counter 'bar'
╔════════╤═════╗
║ Value │Count║
╠════════╪═════╣
║RECEIVED│ 1║
╚════════╧═════╝
在使用SCDF中的分析时,SCDF-Server和Analytics-Apps 必须共享一个常见的Redis-Cluster configuration。
我刚刚在春季数据流启动控制台中注意到了这个错误 "无法获得jedis连接嵌套的异常是redis.clients.jedis.exceptions.jedisconnectionexception"
默认情况下启用了此要求;如果SCDF-Server无法达到REDIS群集,您会注意到此错误。您可以选择根据需要禁用它。
我们是否需要向我的自定义处理器添加任何redis依赖项?
如果处理器只是将汇总数据发布到下游应用程序,则不需要。实际上,仅对于分析 - 链接应用程序需要它。在您的情况下,请确保SCDF-Server和field-value-counter
共享相同的Redis-Cluster配置。
最后,1.3发行线正在积极开发中,里程碑发行了。具体而言,仪表板完全重写 - 可能有错误。虽然可以使用此版本(并欢迎反馈和错误报告),但我建议您切换到最新的GA版本。在写作时,1.2.3.Release是最新的生产版本。