Non-Incremental - написано, да и если написан кастомный фильтр, то для этих данных сложно будет понять нужные блоки и их rowid
Режим загрузки по партициям тоже есть.
Фильтр в oraoop я не пробовал задавать, но вообще, для Oracle фильтры по rowid и по данным совершенно независимы и могут быть использованы в одном запросе.
В спарк все это можно реализовать, но объем работы очень большой. Я просто уже делал такой загрузчик, и там очень много неожиданных кейсов по ходу возникло. К примеру, не все значения типа DECIMAL могут быть прочитаны в spark jdbc. И такое на каждом шагу. Если есть несколько месяцев, можно заняться. Или взять готовый инструмент (sqoop, ogg4bd если доступен!) и продумать архитектуру, чтобы обойти ограничения