Java 如何设置并行性以将数据存储到子-父关系表中的Storm拓扑?
我正在使用ApacheStorm从TwitterAPI的收集一些实时数据。我已经用一个卡夫卡喷口和10个螺栓编写了一个Java 如何设置并行性以将数据存储到子-父关系表中的Storm拓扑?,java,apache-storm,Java,Apache Storm,我正在使用ApacheStorm从TwitterAPI的收集一些实时数据。我已经用一个卡夫卡喷口和10个螺栓编写了一个风暴拓扑。我正在尝试将数据存储到具有子-父关系的Postgres表中 我的问题是: 0)正如我们所知,Storm以并行方式工作,所有数据一次插入到所有表中,其中只有少数表获得数据 1) 我对我所有的螺栓保持了默认计数1并行性。要将数据插入所有表中,我在螺栓的每个执行方法中保留了2秒的sleep方法。其中,所有数据都进入了storm,但将数据插入表中需要很长时间,并且会出现致命错误
风暴拓扑
。我正在尝试将数据存储到具有子-父关系的Postgres
表中
我的问题是:
0)正如我们所知,Storm
以并行方式工作,所有数据一次插入到所有表中,其中只有少数表获得数据
1) 我对我所有的螺栓保持了默认计数1并行性。要将数据插入所有表中,我在螺栓的每个执行方法中保留了2秒的sleep方法。其中,所有数据都进入了storm,但将数据插入表中需要很长时间,并且会出现致命错误,下一个螺栓正在自行恢复
我需要解决以下问题:
如何将并行计数设置为我的风暴螺栓
提前谢谢。我不明白你为什么在执行方法中加入睡眠。。。很明显,您浪费了大量资源,并且拓扑吞吐量很小。。。关于您的问题:设置正确的并行性非常困难。这取决于您的预期数据速率、硬件、喷口/螺栓实施等。。。你的具体问题是什么?我有父母和孩子关系的表格。例如。,插入一个表后,只有其他表需要插入。我们为所有表编写了螺栓,并且所有螺栓都并行执行,因此由于父关系,子表无法插入数据。因此,我在execute方法中使用了sleep方法。我的问题是否有其他选择。@Matthias J.SaxI不会使用睡眠,因为这会减慢您的拓扑结构。。。对于您的子insert bolt,我建议您在插入之前先查询父表——只有在父表尚未插入时才延迟子表的插入。耶!我也在做同样的事情:)我只睡在儿童便笺上。我只是想知道他们是否有其他的方式@Matthias J.SaxI我看不出有什么不同的方式。