У меня есть 4 миллиона записей, которым требуется ежедневная загрузка данных из источника в цель, и мы каждый день выполняем усечение. Это занимает около 9 часов, так как есть около 10 таблиц, загружающих 4 миллиона записей каждый день. Не могли бы вы рассказать мне, как мне улучшить производительность. Спасибо
Я хочу улучшить производительность Pentaho для загрузки данных
comment
Какую СУБД вы используете?
- person Nikhil   schedule 31.10.2016
comment
Мой источник — Oracle, а назначение — MySQL
- person Ujjwal Chowdary   schedule 31.10.2016
comment
Я знаю это решение и уже внедрил, но бесполезно, и я даже увеличил количество копий до 4.
- person Ujjwal Chowdary   schedule 01.11.2016
comment
Ok. Тогда я не могу придумать другого способа сделать это в Pentaho быстрее. Что насчет загрузчика сыпучих материалов?
- person Nikhil   schedule 01.11.2016
comment
Я пробовал массовый загрузчик MySQL, но получаю сообщение об ошибке при создании файла mkfifo на сервере Linux, поскольку мы можем использовать массовый загрузчик MySQL только в среде Linux.
- person Ujjwal Chowdary   schedule 01.11.2016
comment
Здравствуйте, Нихил, где я могу добавить настройки useServerPrepStmts=false rewriteBatchedStatements=true useCompression=true внутри сервера Pentaho, чтобы консоль администратора MySQL Pentaho могла подобрать настройки?
- person Ujjwal Chowdary   schedule 09.11.2016
comment
В окне Подключения к базе данных вы увидите параметры в левой части окна. Вы можете ввести эти параметры там.
- person Nikhil   schedule 09.11.2016
comment
Я хочу внести изменения в сервер BI, так как на сервере настроены соединения с базой данных. Так что, пожалуйста, скажите мне, как это сделать. Нужно ли редактировать какой-либо файл JDBC. Если да, то каков путь к нему. Спасибо
- person Ujjwal Chowdary   schedule 09.11.2016
comment
Я не уверена. Посмотрите, поможет ли это: help.pentaho.com/Documentation/5.1 /0H0/060/010/030/020
- person Nikhil   schedule 09.11.2016
Ответы (1)
У вас есть два варианта:
- Используйте этап массовой загрузки MY SQL, доступный в PDI. Это определенно ускорит загрузку данных.
Скорость можно повысить, используя некоторые простые настройки JDBC-соединения.
useServerPrepStmts=false rewriteBatchedStatements=true useCompression=true
Эти параметры должны быть введены в PDI при подключении. Дважды щелкните соединение, перейдите в «Параметры» и установите эти значения.
При совместном использовании useServerPrepStmts=false
и rewriteBatchedStatements=true
будут «подделывать» пакетные вставки на клиенте. В частности, операторы вставки:
INSERT INTO t (c1,c2) VALUES ('One',1);
INSERT INTO t (c1,c2) VALUES ('Two',2);
INSERT INTO t (c1,c2) VALUES ('Three',3);
будет переписано в:
`INSERT INTO t (c1,c2) VALUES ('One',1),('Two',2),('Three',3`);
Третий вариант useCompression=true
сжимает трафик между клиентом и сервером MySQL.
Наконец, вы можете увеличить количество копий шага вывода до 2, чтобы в базу данных вставлялись два потока.
Надеюсь, поможет!
Ссылка (вариант 2): https://anonymousbi.wordpress.com
person
Nikhil
schedule
31.10.2016