Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache nifi 当数据库中已经存在其中一条记录时,PutDataBaseRecord不会插入任何记录_Apache Nifi - Fatal编程技术网

Apache nifi 当数据库中已经存在其中一条记录时,PutDataBaseRecord不会插入任何记录

Apache nifi 当数据库中已经存在其中一条记录时,PutDataBaseRecord不会插入任何记录,apache-nifi,Apache Nifi,我在NIFI中使用PutDataBaseRecord将CSV文件的数据插入数据库表。因为表中没有数据,所以第一次执行时一切都很顺利。然后修改文件,使其包含新记录和现有记录。PutDataBaseRecord由于现有记录(主键约束)而失败,但它不会插入新记录 有没有办法配置处理器以指示它插入新记录并忽略失败的记录 我附上了我的处理器配置的图片 提前谢谢 这是可能的。然而,它不是一个简单的实现 我建议您尝试以下流程-ListFile->FetchFile->SplitRecord->PutData

我在NIFI中使用PutDataBaseRecord将CSV文件的数据插入数据库表。因为表中没有数据,所以第一次执行时一切都很顺利。然后修改文件,使其包含新记录和现有记录。PutDataBaseRecord由于现有记录(主键约束)而失败,但它不会插入新记录

有没有办法配置处理器以指示它插入新记录并忽略失败的记录

我附上了我的处理器配置的图片

提前谢谢


这是可能的。然而,它不是一个简单的实现

我建议您尝试以下流程-ListFile->FetchFile->SplitRecord->PutDatabaseRecord

在SplitRecord processor中,将“每个分割的记录”属性设置为“1”

SplitRecord processor将输入流文件拆分为多个小流文件(由于设置了“Records per Split=1”,所以在本例中,每行1个文件)。然后,这些单独的流文件将被路由到“拆分”关系,即流中的PutDatabaseRecord处理器

PutDatabaseRecord将新记录插入表中,但现有记录失败

使用GetFile processor测试了该流程,结果正常。希望这能解决你的问题。