Я пытаюсь вставить большое количество больших файлов CSV в базу данных.
Я делаю это с процессором PutDataBaseRecord, который делает этот процесс действительно быстрым и простым.
Проблема в том, что я не знаю, как правильно обрабатывать сбои, например, если значение не соответствует типу данных столбца или если строка является дубликатом.
Если это происходит, процессор PutDataBaseRecord отбрасывает все записи пакета, который он только что преобразовал, из файла CSV. Поэтому, если одна запись из 2.000.000 не удастся, ни одна из 2.000.000 записей не попадет в БД.
Мне удалось исправить один источник проблемы путем предварительной очистки данных CSV, но я все еще сталкиваюсь с проблемой дублирующихся строк.
Это я попытался исправить, разделив CSV на отдельные строки внутри NIFI, прежде чем передавать их в процессор PutDatabaseRecord, который действительно очень медленный и часто приводит к ошибке OOM.
Может кто-нибудь предложить альтернативный способ вставки больших CSV в базу данных SQL?