Я копирую данные из файлов папок HDFS в таблицу БД PostgreSQL с помощью Java.
Каков сценарий здесь, когда несколько процессов запущены и пытаются вставить в одну и ту же таблицу, процесс внезапно зависает или занимает слишком много времени.
Как я могу справиться с блокировками БД, например:
Процесс1 занимает 10 минут, но когда Процесс2 работает параллельно, процесс1 занимает около часа, так что либо мне нужно принудительно убить его, либо он терпит неудачу. Я хочу сделать что-то вроде того, что процесс уже запущен, я хочу, чтобы process2 подождал. Это должно быть на стороне БД или в коде?
Нам, вероятно, потребуется больше узнать о структуре вашей таблицы (таблица, индексы) и данных, которые ваши параллельные процессы загружают в нее - вы, должно быть, каким-то образом сталкиваетесь с конкуренцией за блокировку на конце таблицы - и именно этого вы хотите избежать .. .