Search code examples
csvazure-data-lakeu-sql

usql: Numeric column in Extractors.Csv()


I am parsing a csv file in u-sql and have an issue due to two of the columns names starting with a number. This produce the following error: Error: E_CSC_USER_SYNTAXERROR: syntax error. Expected one of: identifier quoted-identifier

Is it not possible to parse csv files starting with a numeric value in u-sql?
Renaming the columns 01Test and 02Test to Test01 and Test02 and it works as expected.

//currentTime,01Test,02Test
//2016-01-04 11:20:00,avc,def
//2016-01-04 11:21:00,avf,dee

@mycsv =
EXTRACT time currentTime, 01Test string, 02Test string
FROM "/test/myfile.csv"
USING Extractors.Csv();

OUTPUT @mycsv   

TO "/test/output.csv"
USING Outputters.Csv();


Solution

  • U-SQL identifiers provides two types of identifiers: unquoted identifiers have to follow the C# rules for identifiers. quoted identifiers can contain anything.

    So if you want to call the columns 01Test and 02Test, please quote them as [01Test] and [02Test].