【问题标题】:Joining tuples with an RDBMS table using Apache storm使用 Apache Storm 将元组与 RDBMS 表连接起来
【发布时间】:2016-10-13 07:33:45
【问题描述】:

我正在尝试将 KafkaSpout 发出的记录与 Oracle 表中的记录连接起来(不是流式连接)

实现这一点的最佳方法是什么?

我可以使用缓存从 db 表中检索记录,然后我可以将 spout 发出的每个元组与缓存的数据进行连接。

希望获得有关此方面的建议。

【问题讨论】:

    标签: streaming apache-kafka apache-storm


    【解决方案1】:

    最简单的方法是在open()prepare()中打开一个到数据库的JDBC连接(取决于你是想在spout还是bolt中这样做)并查询数据库中要处理的每个元组以接收相应的连接元组。

    当然,您还可以在 spout/bolt 代码中使用缓存(可能是一个简单的HashMap)以避免一遍又一遍地查询相同的数据。为此,我会延迟填充缓存并限制条目数以避免内存不足错误。您可能希望实施 LRU 策略以在达到其限制的情况下从缓存中消除元组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-31
      • 2023-03-10
      • 2020-04-02
      • 1970-01-01
      • 1970-01-01
      • 2016-03-04
      • 1970-01-01
      • 2011-07-25
      相关资源
      最近更新 更多