2017-01-31 1 views
0

При использовании утилиты ввода CSV в Pentaho (V7) мы используем тип обрезки как для достижения ниже. Но это работает не так, как ожидалось.Pentaho - CSV Input - Тип обрезки входящего поля - неожиданное поведение

Вот тестовые данные и ожидаемые результаты по сравнению фактического выхода

|Incoming Data      |Expected Output  |Actual Output   | 
|<space>abc<space>     |abc     |abc     | 
|abc<space>       |abc     |abc     | 
|<space>abc       |abc     |abc     | 
|"<space>abc<space>"    |<space>abc<space>  |abc     | 
|"<space>abc<space>"<space>   |<space>abc<space>  |abc     | 
|<space>"<space>abc<space>"   |<space>abc<space>  |"<space>abc   | 
|<space>"<space>abc<space>"<space> |<space>abc<space>  |"<space>abc   | 
|"abc"<space>      |abc     |abc     | 
|<space>"abc"      |abc     |"abc     | 
|<space>"abc"<space>    |abc     |"abc     | 

Может кто-то пожалуйста, руководство меня по этому поводу?

ответ

1

Похоже, что CSV-вход не работает правильно с плохо сформированными CSV-данными (сюрприз!). Наличие лишних пробелов между разделителем и символами оболочки, по-видимому, не очень хорошо подходит для этого шага. Функция обрезки выглядит внутри шкафа, чтобы обрезать пространства, а не снаружи.

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

Решение состоит в том, чтобы удалить двойные кавычки (окруженные красным) из окна определения корпуса на этапе ввода CSV. Затем шаг будет правильно обрезать пробелы за пределами строк, указанных или нет. Вы затем поместить данные через стадию «Заменить в String» заменить "ничем (красные подчеркивания).

Sample transformation with settings

+1

Замена котировок сложнее, если у вас есть встроенные кавычки. – marabu

2

Если нет никаких технических причин для использования CSV-Input, используйте текстовый файл-Input . вместо ИВП обрабатывает CSV ввода гораздо лучше, если это возможно, вы должны поговорить с производителем CSV о качестве данных, хотя

UPDATE:.. ТЙ выход 6.1.0.1-196 Предварительного просмотра

enter image description here

N ot так плохо, когда мы принимаем, что обрезка в чайнике всегда выполняется с полем, т. е. вы не можете защитить ведущие или конечные пробелы от обрезки, как ожидалось, в контрольных окнах 4 и 5.

Смежные вопросы