Использование вкладки в качестве разделителя в компоненте tFileInputDelimited в Talend Open Studio

Я написал ETL в Talend Open Studio, который загружает файл CSV/TSV в базу данных. Для этого я хочу предоставить разделитель в компоненте tFileInputDelimited, используя динамическую загрузку контекста из текстового файла. Я указал его в файле контекста как fieldDelimiter = "\t" и в компоненте tFileInputDelimited, как показано на скриншоте. Но это не работает как разделитель. Я также пытался использовать fieldDelimiter="\\t" или fieldDelimiter = "\ u0009" (символ Юникода для табуляции).

Что я должен предоставить в файле контекста, чтобы разделитель был символом табуляции, а не строкой "\t", как это происходит в данном случае?

4 ответа

Решение

Нет функции (String)context.get("key") что я знаю Если вы установили разделитель как элемент String в контексте, просто получите к нему прямой доступ. Теперь в качестве разделителя полей будет использоваться пустая строка.

Так что если ваше поле называется fileDelimiter Проще говоря context.fileDelimiter в разделитель полей.

В вашем контекстном файле просто поместите fileDelimiter = \t (без кавычек), а затем получите доступ к переменной в разделителе поля. Talend автоматически обработает это как строку. Надеюсь, это работает.

Я замечаю разницу в именах переменных контекста. На скриншоте вы упомянули (String)context.get("fileDelimiter"), Но в тексте вы говорите "Я указал это в файле контекста как fieldDelimiter="\t" ".

просто содержание в файле.properties должно работать следующим образом

fieldDelimiter=\t

Также используйте context.fieldDelimiter вместо (String)context.get("fileDelimiter").

Как отмечают другие, вы должны использовать синтаксис context.ParamName, преимуществом этого метода является проверка синтаксиса во время компиляции, которая устраняет риск опечаток в именах переменных. Этот параметр должен быть объявлен в вашей работе (вкладка контекстов), чтобы Talend распознал его. Вы можете создать его как встроенный или импортировать, если он находится в хранилище.

Другие вопросы по тегам