user2956121
user2956121

Reputation: 95

U-SQL get filename of input and use for output

I have a filename of test.csv and I want the output to be test.txt.

I can extract the filename of the input but don't know how to use it for the output?

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

The filename is in the @result.

This feature isn't supported as of yet.

Does anyone have a work around?

U-SQL How can I get the current filename being processed to add to my extract output?

Ideally I would like dd-mm-yy-test.text?

How do I append the day month and year?

I am using USQL for this.

Thanks

Upvotes: 0

Views: 427

Answers (1)

jonordona
jonordona

Reputation: 43

Let me address both issues you're laying out in this question:

  1. To use the same output name as the input, there would have to be a way to access rowset values into u-sql variables which I'm pretty sure cannot be done, taking into account that the language is built around the necessity to process many files at once.

  2. To append a date into the output you would only need to declare the current datetime at some point and then use it to write the output file name like this:

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

Upvotes: 1

Related Questions