当前位置: 首页 > 知识库问答 >
问题:

Apache NiFi:当Cassandra表记录被修改时,如何从该表中获取数据

百里君博
2023-03-14

我将Cassandra作为数据库,我们使用“QueryCassandra”处理器从Cassandra表中获取值到输出端口,输出端口使用select查询获取记录。我有一个下面提到的用例。

1)第一次需要从Cassandra中提取所有记录并将其传输到输出端口时,这正在发生。(即所有数据经常在特定的时间间隔从表中提取,正如我们在运行计划中提到的那样)

2)以后,每当修改Cassandra表(插入新记录或行更新或行删除)时,只需要将记录发送到输出端口,有没有什么方法可以实现这一点,而不是每隔一段时间就提取一次?

样品Nifi模板

共有1个答案

葛桐
2023-03-14

这在NiFi中目前是不可能的(在撰写本文时为1.11.4),我们需要一个Cassandra版本的QueryDatabaseTable(在这里提供一个只增加的列,如timestamp),或者一个CaptureChangeCassandra处理器,在这里我们使用CommitLogReader来读取提交日志,而不是查询表本身。

请随意编写一个新特性Jira case,为Cassandra添加CDC功能。

 类似资料:
  • 主要内容:添加一列命令用于在创建表后更改表。 您可以使用命令执行两种操作: 添加一列 删除一列 语法: 添加一列 您可以使用命令在表中添加一列。 在添加列时,您必须知道列名称与现有列名称不冲突,并且表不使用紧凑存储选项进行定义。 语法: 示例: 现在举个例子来说明在已经创建的名为“”的表上使用命令。 这里我们在名为的表中添加一个名为student_email的文本数据类型列。 使用以下命令后: 执行上面命令添加一个

  • 问题内容: 假设有两个表: 表A 表B 表之间的联系是 messageID 字段。 我想要一个查询来生成这样的结果,在该查询中,我将所有字段从表A中拉出,并对表B中每条消息的注释数进行计数,如下所示: 我已经尝试过这样的事情: 但这是行不通的。有任何想法吗?似乎应该可以在一个查询中执行此操作。我正在使用MSSQL。谢谢你的帮助。 问题答案: 标量子查询将起作用: 与往常一样,有很多方法可以改变这只

  • 问题内容: 我有一个表 的学生 这样 我想获取所有记录,但不应重复邮政编码。因此,在上述表记录的情况下,应获取记录1和2。将不会提取第3条记录,因为它的邮政编码已在第1条记录中。 问题答案: 以下查询将仅选择不同的“ zip”字段。 以下查询将选择所有字段以及不同的zip字段。

  • 我有一个网格,允许用户更新列(即ModelData中的属性)。有没有办法让我看到未修改的记录(即ModelData)? 当用户单击“提交”按钮时:我可以使用List modifiedRecords=listStore。getModifiedRecords();用于修改的记录。我可以使用Map changedFieldsMap=modifiedRecord。getChanges();要查看已更改的列

  • 目录表 时间表 术语表 时间表 本文档在2005年1月13日4点02分生成。 修订记录 1.20版 2005年1月13日 使用FC3上的Quanta+的完全重写。做了许多修正和更新。添加了许多新的例子。重写了我的DocBook设置。 1.15版 2004年3月28日 少量修订。 1.12版 2004年3月16日 添加修正了一些内容。 1.10版 2004年3月9日 感谢我的热情读者的帮助,我对更多

  • 问题内容: 在MySQL中,我有一个包含几列的表,其中一列是日期列。我希望能够进行查询,这样我就可以获得一个额外的列,该列显示了当前日期(每一行的日期)和上一行的日期之间的天数。 记录的顺序是按日期,而我是按其他列过滤的。 例如 显然,由于第一行没有可比较的内容,因此应显示。 我知道我可以使用MySQL函数获取两个日期之间的差异,例如 我的基本查询是, 但是如何进行查询以直接获得示例中所示的结果?