U-SQL получить имя файла ввода и использовать для вывода - PullRequest
0 голосов
/ 08 мая 2018

У меня есть имя файла test.csv, и я хочу, чтобы вывод был test.txt.

Я могу извлечь имя файла ввода, но не знаю, как использовать его для вывода?

OUTPUT @result TO "/output/{filename}.txt"
USING Outputters.Text(outputHeader:false, quoting:false);

Имя файла находится в результате @.

Эта функция пока не поддерживается.

У кого-нибудь есть обходной путь?

U-SQL Как получить текущее имя обрабатываемого файла, чтобы добавить его к выводу экстракта?

В идеале я хотел бы dd-mm-yy-test.text?

Как мне добавить день месяц и год?

Для этого я использую USQL.

Спасибо

1 Ответ

0 голосов
/ 16 мая 2018

Позвольте мне рассмотреть оба вопроса, которые вы изложите в этом вопросе:

  1. Чтобы использовать то же имя вывода, что и для ввода, должен быть способ доступа к значениям набора строк в переменные u-sql, что, я уверен, сделать невозможно, учитывая, что язык построен вокруг необходимости обрабатывать много файлов одновременно.

  2. Чтобы добавить дату в выходные данные, вам нужно всего лишь объявить текущую дату и время в какой-то момент, а затем использовать ее для записи имени выходного файла, например:

    DECLARE @now DateTime = DateTime.Now;
    OUTPUT @output TO "/tests/output/" + @now.ToString("dd-MM-yyyy") + "-output.csv" USING Outputters.Csv();
    
...