我需要从文件中读取用户名(全部换行)并插入到数据库(oracle)中。 我在 NiFi 中使用 GetFile->SplitText->ExtractText->PutSql。对于较少的记录(大约 10 条记录),一切正常。但是,当我尝试 50 或 100 多条记录时,ExtractText 和 PutSql 之间的连接,我收到“流文件当前受到惩罚,此时无法处理数据”。所有流文件也保留在队列中。
PutSQL中的注意事项我使用简单的sql(插入users_table(user_name)值('user123'); 它适用于 10、20 条记录,但当我提供 100 多条记录时,它就会卡住。
你好,我问过这个问题。现在我想我已经找到了解决方案。在PutSql Processor中,有一个属性“支持碎片事务”。如果我将其值设置为 false,那么它会继续进行,不会惩罚流文件。(如果我们了解更多内容,它会说明有关fragment.identifier 和 count 的信息,因此它会等待所有流文件。)
注意:它还提到这是为了尊重原子性。 任何人都可以建议将该属性设置为 false 是否正确。现在如果我将其更新为 false 那么它不会受到惩罚。