БД блокируется при параллельном запуске нескольких процессов sqoop с искрой

Я копирую данные из файлов папок HDFS в таблицу БД PostgreSQL с помощью Java.

Каков сценарий здесь, когда несколько процессов запущены и пытаются вставить в одну и ту же таблицу, процесс внезапно зависает или занимает слишком много времени.

Как я могу справиться с блокировками БД, например:

Процесс1 занимает 10 минут, но когда Процесс2 работает параллельно, процесс1 занимает около часа, так что либо мне нужно принудительно убить его, либо он терпит неудачу. Я хочу сделать что-то вроде того, что процесс уже запущен, я хочу, чтобы process2 подождал. Это должно быть на стороне БД или в коде?

Нам, вероятно, потребуется больше узнать о структуре вашей таблицы (таблица, индексы) и данных, которые ваши параллельные процессы загружают в нее - вы, должно быть, каким-то образом сталкиваетесь с конкуренцией за блокировку на конце таблицы - и именно этого вы хотите избежать .. .

moilejter 04.04.2021 07:40
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
14
0

Другие вопросы по теме