Компонент Talend tFileOutputdelimited - проблемы с разделенными файлами .csv

Я попытал счастья на форуме Talend, и там не повезло, поэтому попробую и здесь.

У меня есть работа, которая читает большую таблицу, а затем записывает данные в файлы .csv с шагом 25000 строк. Что я заметил, так это то, что все файлы .csv, созданные после первого файла .csv, имеют данные, загруженные в одну строку, по сравнению с первым файлом .csv, в котором данные загружены в 25000 строк (как я этого хочу).

Есть ли параметр, который необходимо установить для компонента tFileOutputDelimited, который позволит загружать строки во всех последующих файлах .csv так же, как они находятся в первом (и «хорошем») файле .csv? Я думаю, что это может быть связано с тем, что используется для значения «Escape char» на вкладке «Дополнительные настройки», но я не уверен.

На вкладке «Основные настройки» компонента tFileOutputDelimited значение разделителя строк CSV равно CRLF («\r\n»), а разделитель полей — «,». На вкладке «Дополнительные настройки» компонента значение Escape char равно «»», а значение «Текстовое вложение» также равно «»».

Кроме того, это выполняется в среде Windows 7.

К сожалению, в документации, которую я нашел для вкладки «Дополнительные настройки» компонента tFileOutputDelimited, отсутствуют параметры CSV.

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

Файл №1

строка заголовка строка 1 строка 2 строка 3 ... строка 25000

Файл №2...

заголовок rowrow1row2...row25000

Файл №3...

заголовок rowrow1row2...row25000

Если вам нужна дополнительная информация, дайте мне знать, и я пошлю их сразу же. Заранее спасибо.


person Thomas Grady    schedule 21.06.2013    source источник


Ответы (1)


Догадаться. Как упоминалось в моем первоначальном посте, для разделителя строк CSV был установлен параметр CRLF("\r\n"). Я изменил это на LF("\n"), и это решило проблему. Я просмотрел сгенерированный код Java и заметил, что он не рассматривает CRLF ("\ r\n") как один из параметров по умолчанию - только \n и \r. Это подтолкнуло меня к тому, чтобы попробовать вариант \n.

person Thomas Grady    schedule 24.06.2013