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

自定义处理器-读取数据库视图

汪鸿波
2023-03-14
private void GetData(){
    Connection connection = DriverManager.getConnection("jdbc:postgresql://example:5432/example", "user", "pass");
    Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
    ResultSet rs = statement.executeQuery("SELECT * FROM Example_Table");
    while(rs.next()){
        //Get data from database
    }
    connection.close();
}

然而,我很难从数据库视图中获得最近的更新。主要问题是何时向数据库中添加新条目。由于数据库是在初始化处理器时查询的,因此自定义处理器将不会有新的条目。

我尝试在public void onTrigger()函数中实现查询;然而,这将导致管道备份,因为它将对每个flowfile查询数据库(如果每秒有数千个flowfile传入,这就不理想了)。

处理器启动时是否有查询数据库的方法;不在每个flowfile上查询数据库?或者,是否可以检测数据库是否已被修改并在修改时提取数据?或者甚至设置一个计时器来将数据库拉入自定义处理器?

任何帮助都非常感谢,提前谢谢。

共有1个答案

史洛城
2023-03-14

我认为如果您能更多地解释更高级别的用例,它可能会帮助您获得解决方案,因为这似乎是一种不常见的方法。通常每个处理器有一个单一的职责,因此一些处理器与数据库交互,然后输出必要的信息供其他处理器使用。

有一些LookupService可能是研究的好例子,例如MongodBlookupService

如果您的用例实际上是“我有一个自定义处理器,它接收包含任意数据的流文件,并需要使用该数据库表中的最新数据对它们执行一些操作”,您有几个选项:

    null
 类似资料:
  • 基本要求: 熟悉 C++ 编程。 确保下载 TensorFlow 源文件, 并可编译使用。 我们将支持文件格式的任务分成两部分: 文件格式: 我们使用 Reader Op来从文件中读取一个 record (可以使任意字符串)。 记录格式: 我们使用解码器或者解析运算将一个字符串记录转换为TensorFlow可以使用的张量。 例如, 读取一个 CSV 文件,我们使用 一个文本读写器, 然后是从一行文

  • 基本要求: 熟悉 C++ 编程。 确保下载 TensorFlow 源文件, 并可编译使用。 我们将支持文件格式的任务分成两部分: 文件格式: 我们使用 Reader Op来从文件中读取一个 record (可以使任意字符串)。 记录格式: 我们使用解码器或者解析运算将一个字符串记录转换为TensorFlow可以使用的张量。 例如, 读取一个 CSV 文件,我们使用 一个文本读写器, 然后是从一行文

  • 问题内容: 我开始工作,并和奇迹是否可以定制响应期待。当前对DataTables插件的期望是这样的: 在服务器端,API由 服务器的响应是: 因此,有没有一种方法可以调整Datatables插件以接受/映射此响应,或者我必须找到一种将期望的字段添加到api的方法? 到目前为止,我已经做到了: 任何帮助将不胜感激。 提前致谢 :) 问题答案: 您可以将函数传递给DataTables 选项,这将使您完

  • 本文向大家介绍Pytorch 实现数据集自定义读取,包括了Pytorch 实现数据集自定义读取的使用技巧和注意事项,需要的朋友参考一下 以读取VOC2012语义分割数据集为例,具体见代码注释: VocDataset.py Train.py 以上这篇Pytorch 实现数据集自定义读取就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 如果数据库表中的列名和等价的javabean对象名称不相似,那么我们可以通过使用自定义的对象来映射它们。 看下面的例子。 为了理解上述与DBUtils相关的概念,让我们编写一个将运行读取查询的示例。创建一个示例应用程序。 更新在DBUtils入门程序中创建的文件:MainApp.java。 按照下面的说明编译并运行应用程序。 以下是的内容。 以下是文件的内容。 以下是文件的内容。 完成创建源文件后

  • 我试图加载一个自定义的NiFi处理器,但无法让NiFi加载所有的.nar依赖项,尽管尝试了各种pom.xml配置。我在SO上遇到过一些类似的问题,但还没有找到这个问题的答案。