new Fields是干啥的
declare的时候,new Fields(“A”,“B”)
emit的时候,new Value(“a”,“b”)
declare的fields的size要和value的size相等否则会报错
这个是对应的
所以接收的时候tuple.getString(index)这个index就代表着ab的位置
返回的tuple中获得的是这个地方的数据



同时,可以通过getStringByField这个方法获得指定field的值

Message ID这个又是干啥的
这个值可填可不填
当not null时,ack和fail的回调会执行,被storm监控,所以可以在这两个回调函数里记录状态写到日志里,这样排错的时候就能定位了
当msgid为null时,可以理解为虽然任务执行了,但是这个事件丢失了,没有人知道他,他是个没身份证的人,不受到storm的监控,也就自然没法对他定位了

本文介绍了在使用Storm开发过程中遇到的几个关键问题。包括new Fields的作用,它用于声明字段并确保与Value的大小匹配;Message ID的功能,它可以用于跟踪任务执行状态和定位错误;以及在Local模式下开发时可能会遇到的报错,特别是POM配置问题和grouping的错误。通过理解这些问题,有助于提升Storm开发的效率和准确性。
最低0.47元/天 解锁文章
680

被折叠的 条评论
为什么被折叠?



