2013-07-17 3 views
2

Я делаю преобразование в интеграции данных Pentaho, и у меня есть список файлов в каталоге моего SFTP-сервера. Эти файлы названы в формате FILE_YYYYMMDDHHIISS.txt, мой каталог выглядит следующим образом:Интеграция данных Pentaho (DI) Получить последний файл в каталоге SFTP-сервера

  • MyDirectory
    • FILE_20130701090000.txt
    • FILE_20130701170000.txt
    • FILE_20130702090000.txt
    • FILE_20130702170000.txt
    • FILE_20130703090000.txt
    • FILE_20130703170000.txt

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

Как я могу сделать это в Pentaho данных Интеграция?

+0

Привет, добро пожаловать в StackOverflow. Я задал вашему внимательному голосу вопрос, потому что он не подходит для формата SO. В частности, вы не показали нам, что вы пробовали. Если вы даже не знаете, что попробовать, вам, вероятно, понадобится более базовая помощь, которая SO предназначена для обеспечения формата вопросов и ответов. См. Http://stackoverflow.com/help/asking –

+1

Я начинаю уставать от этого предложения о закрытии предложений по ответам на чайник. Я пользователь чайника, и я думаю, что этот ответ идеально подходит для ответа. Я понимаю проблему достаточно справедливо. – jipipayo

ответ

4

На самом деле это довольно просто, потому что ваши имена файлов могут быть отсортированы по тексту, а макс в списке сортировки будет вашим самым последним файлом.

Поскольку список файлов, вероятно, короткий, вы можете использовать шаг Memory Group by. Для этапа группирования требуется отдельный столбец для агрегирования. Если у вас есть только столбец и вы хотите найти max во всем наборе, вы можете добавить столбец группировки с шагом Add Constants и настроить его для добавления столбца с, например, целым числом 1 в каждой строке.

Настройте свой Memory Group by, чтобы сгруппировать по столбцу 1s и использовать столбец имени файла в качестве темы. Затем просто выберите Максимальный тип группировки. Это приведет к созданию одной строки с столбцом группировки, удалением поля имени файла и агрегатным столбцом, содержащим максимальное имя файла. Это будет выглядеть примерно так:

enter image description here