2016-03-02 4 views
1

with the reference to my previous post,here is the linkСлишком длинное выполнение трансформации

У меня 130000 записей в моем источнике. Когда я попытался запустить преобразование, он все еще работал через 16 часов.

Будет ли увеличиваться куча памяти файла сценария spoon.bat, чтобы уменьшить время выполнения моего преобразования? (Изменено от PENTAHO_DI_JAVA_OPTIONS="-Xmx256m -XX:MaxPermSize=256m до PENTAHO_DI_JAVA_OPTIONS="-Xmx2g -XX:MaxPermSize=256m).

Каковы другие способы повышения эффективности преобразования?

+0

Вы проверили свое преобразование, где у вас есть узкие места? – bolav

+0

@bolav это та же самая трансформация, которую вы предложили мне в моем предыдущем посте. Я только изменил исходные данные, имена столбцов и их метаданные тоже совпадают. – Deepesh

+0

Но вам нужно профилировать его, используя Spoon. – bolav

ответ

3

Мне также необходимо было ускорить преобразование. Это мои настройки PENTAHO_DI_JAVA_OPTIONS="-Xmx2048m" "-XX:MaxPermSize=1024m".

Конечная скорость зависит от конструкции трансформации. В общем:

  • HW параметры вашей машины/сервера, на котором он был запущен. (В моем случае это примерно в 2 раза быстрее, когда я запускаю работу на новом сервере, чем на моем ноутбуке). Существуют ли другие процессы на одной машине во время ее запуска?
  • Оптимизирована ли трансформация? Много ли вы используете шаги JavaScript? Они медленнее (попробуйте заменить их на другие шаги). Какое хранилище вы используете? Сколько подключений к базе данных вы используете?
  • У вас есть Определенные узкие места трансформации? Когда вы запускаете преобразование, вы можете видеть, какие шаги замедляют его (узкие места) [см. Step Metrics вкладка Execution results, сфокусируйтесь на Speed a Input/output]. Например. база данных присоединяется к удаленному серверу, объединяет соединения, шаг сортировки. Вы можете установить еще экземпляры для такого шаг (щелкните правой кнопкой мыши по шагу>Change number of copies to start..> установите его на 2 или более> заново запустите преобразование и увидите различия).
  • Использование cache варианты поиска в базе данных.
  • Избегайте «медленные шаги», если это возможно (те, которые должны обрабатывать все строки для создания результата): сортировка строк, объединение слияния, уникальные строки, денормализатор строк. Когда первый ряд приходит к такому шагу, он ждет все время до последней строки. Затем шаг обрабатывает все строки, создает результат, и преобразование продолжается.
  • Попробуйте использовать кластеризация.

Дальнейшее чтение:

1
  1. Избегайте рода операция
  2. Избегайте Java Script, если возможно
  3. Один большой шаг JavaScript работает быстрее, чем три последовательных меньших шага.Так попробуйте совместить
  4. Tick «Управление приоритетами потоков» на вкладке Misc параметров преобразования
  5. Если возможно, не удалять поля в Select Value
  6. Применить нет копий начать Refernce: - http://help.pentaho.com/Documentation/5.4/0L0/0Y0/070/030
Смежные вопросы