使用storm从两个不同的dbs连接两个表

She*_*jie 5 apache-storm

我是暴风雨的新手.只是想我是否可以使用storm来合并/连接来自两个不同dbs的两个表(coz,两个表有某种外键关系,恰好存在于不同的dbs /系统中),任何想法我是如何构成的拓扑?比如有两个分开的喷嘴周期性地从两个dbs读取并有一个螺栓来进行连接工作?

这甚至是暴风雨的正确用例吗?

任何想法都表示赞赏!

G G*_*III 6

这可能是Storm的一个很好用,但它实际上取决于你的数据集.如果您只想在单独的DBMS中有两个表,并且要加入并存储在第三位(DBMS或其他位置),那么只有当这是一个流连接时,Storm才会真正有意义,即两个表经常被写入并且你想加入刚刚写在一起的东西.

而且,几乎不言而喻,如果这是针对相对较大和较高音量的东西,你应该只使用Storm所带来的复杂性.

如果它很小,你可能会更好地使用传统的ETL工具,即使只是为了访问两个数据库并组合数据而只需要一些代码.

如果数据集很大并且您需要在很短的时间内进行连接,我会考虑采用另一种方式,例如使用map-reduce作业从两个DB中提取数据并将连接扩展到簇.


use*_*864 3

就像有两个独立的喷口定期从两个数据库读取数据,并有一个螺栓来完成连接工作

是的,这很有可能。风暴可以有多个spouts。通常A bolt consumes any number of input streams, does some processing, and possibly emits new streams.,最好让 Spout 从 Kafka 或 RabbitMQ 等队列中读取(您可以找到 Spout 与大多数排队系统集成)。因此,在这种情况下,您可以将数据库中的数据提供给队列,然后让 spout 消耗相同的数据。

更新:这是一篇关于风暴并行如何工作的
非常好的文章