向apachestorm项目中流式输入增量数据库

qmb5sa22  于 2021-06-21  发布在  Storm
关注(0)|答案(2)|浏览(291)

我找了很多,但几乎找不到我要找的东西。这个问题简单明了。我有一个数据库表,它每秒钟都会被填充!接下来,我几乎在apachestorm spout/bolts类中定义了分析方法/类。我只想做的是,将每秒插入的新行作为流输入发送到spoutt类。我该怎么做?
谢谢,

qeeaahzv

qeeaahzv1#

teradata提供了队列表的功能。这些表支持“选择并使用”操作,这意味着一旦您选择了行,它就会从表中删除行。更多信息:http://www.info.teradata.com/htmlpubs/db_ttu_14_00/index.html#page/sql_reference/b035_1146_111a/ch01.032.045.html#ww798205这种方法假设teradata中的表用作缓冲区,其他人不需要它。如果您既需要永久完整表(对于某些其他应用程序)也需要将此数据流式传输到storm,那么您可能需要以填充永久表和队列表的方式修改加载过程。在这种情况下,其他应用程序可以使用永久表中的整个数据深度,storm将以最小的空间影响消耗队列表中的数据。

guykilcj

guykilcj2#

有几种方法可以做到这一点,但如果不了解更多数据的性质,就很难给出一个好的答案。一种方法是使用另一个表,根据原始表中的某个字段跟踪哪些记录已经被storm处理过。例如,如果使用timestamp列,则可以跟踪已处理的最大时间戳。在读取/更新元数据表和实际数据表时,您必须小心一些潜在的竞争条件,但这两种情况都可以通过事务和适当的时间同步来管理。

相关问题