Сортировка строк занимает слишком много времени

Я новичок в Пентахо.

Следующее преобразование кажется правильным.

Однако на сортировку строк уходит вечность:

введите описание изображения здесь

Это шаг:

введите описание изображения здесь

Почему это занимает так много времени и как я могу это улучшить?

Это соединение слиянием 2:  e


person Community    schedule 19.06.2019    source источник
comment
По-видимому, вы можете увеличить объем памяти, который использует шаг из JVM, это параметр «Порог свободной памяти (в%)», который вы можете установить на шаге. Поскольку мы говорим о виртуальной машине, мы не можем знать на 100%, сколько свободной памяти доступно, поэтому попробуйте немного увеличить ее и посмотреть, будет ли она работать быстрее.   -  person Cristian Curti    schedule 19.06.2019
comment
Спасибо, я установил память на 90%, но она не запускается!   -  person    schedule 19.06.2019
comment
Похоже, выходной буфер этапа сортировки каким-то образом переполнен. На этапе слияния 2 ключи используются в том же порядке, в котором вы их сортируете? Это выглядит очень странно, когда этап сортировки еще выполняется, но слияние 2 уже завершено.   -  person Cyrus    schedule 20.06.2019
comment
@Cyrus, спасибо за помощь, пожалуйста, смотрите мой отредактированный вопрос выше.   -  person    schedule 20.06.2019
comment
Ах, это многое объясняет. Merge 2 перечисляет временной шаг для обоих входов. Это означает, что он вообще не использует входные строки из этапа сортировки, и поток останавливается, когда буфер достигает 10 тыс. Строк. Измените первый шаг на Сортировать строки. Кроме того, если вы хотите объединить только по time_key, вы должны отсортировать по нему.   -  person Cyrus    schedule 20.06.2019
comment
@Cyrus, ты имеешь в виду, должен ли я добавить шаг с сортировкой строк перед первым объединением слияния? Почему бы тебе не опубликовать ответ (я приму его, если он сработает)   -  person    schedule 20.06.2019


Ответы (3)


Попробуйте это в свойствах трансформации (ctrl + T или View -> Settings):

  • Установите большее количество строк в наборе строк
  • Установите больший размер отзыва
  • Снимите флажок "Управление приоритетами потоков?"

Пример: Свойства преобразования

person rmorales    schedule 21.11.2019

несколько способов, которыми я пытался работать с сортировкой .. надеюсь, что это поможет

  1. Используйте параметр «Размер сортировки (строк в памяти)» на этапе «Сортировать строки», чтобы управлять этим. Порог свободной памяти (в%) помогает избежать заполнения доступной памяти. Убедитесь, что для PDI выделено достаточно оперативной памяти.
  2. Использование базы данных для передачи данных на промежуточную стадию, сортировку и заполнение целевой таблицы работает быстро с точки зрения пакетной обработки.
person NK0709    schedule 22.11.2019

Шаг «Объединить слияние 2» дважды имеет временной шаг в качестве входных данных. Поскольку «Сортировка строк» ​​не определена как шаг ввода в «Объединить слияние 2», записи из «Сортировка строк» ​​не обрабатываются. Если буфер равен 10000, «Сортировка строк» ​​прекращает запись в «Объединить слияние 2». Таким образом, шаг «Сортировка строк» ​​никогда не завершится.

person DisKanis    schedule 10.11.2020