Ложка работает медленно от Postgres к Oracle - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть ложка ETL, которая читает таблицу из Postgres и пишет в Oracle.Без трансформации, без сортировки.ВЫБЕРИТЕ col1, col2, ... col33 из таблицы.350 000 строк на входе.Производительность составляет 40-50 rec / sec.

Я пытаюсь читать / записывать одну и ту же таблицу из PS в PS со ВСЕМИ столбцами (col1 ... col100) У меня 4-5 000 rec / sec. То же самоеесли я читаю / пишу из Oracle в Oracle: 4-5 000 rec / sec. Так что для меня это не проблема сети.

Если я попробую с другой таблицей Postgres и только 7 столбцами, производительность будет хорошей.

Спасибо за помощь.

1 Ответ

0 голосов
/ 02 ноября 2018

То же самое происходило и в моем случае, когда при загрузке данных из Oracle и запуске их на моем локальном компьютере (Windows) скорость обработки составляла 40 об / с, но для базы данных Vertica она была 3000 об / с.

Я не мог понять, в чем именно была проблема, но я нашел способ увеличить количество строк.Это сработало у меня.вы также можете сделать то же самое.

Щелкните правой кнопкой мыши по шагам ввода таблицы, вы увидите «Изменить количество копий для запуска»

Пожалуйста, включите ниже в предложении где, чтобы избежатьдубликаты.Потому что, когда вы выбираете опцию «Изменить количество копий для запуска», запрос будет запускаться N раз и возвращать дубликаты, но с сохранением кода ниже, в котором предложение будет получать только отдельные записи

where ora_hash(v_account_number,10)=${internal.step.copynr}

v_account_number является первичнымвведите в моем случае 10, скажем, например, вы выбрали 11 копий для запуска средства, 11 - 1 = 10, так что вы должны установить.

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

...