VS 2017 - USQL - 解析管道分隔文件

时间:2017-11-02 22:24:55

标签: visual-studio azure azure-data-lake u-sql

我正在尝试使用VS 2017解析(使用管道将单个列转换为多个字符串列并为每个结果列分配变量类型)USQL / Azure中的管道分隔文件。

该文件已经加载到一个文件夹中,但是当我查看它时,它只是一个字符串列,数据中有管道可见。

Column_0
fields1|field2|field3
123|456|abc

我有几个脚本我正在尝试复制/调整但是我收到了一堆信息量不大的错误。

我的脚本如下所示:

@input = 
    EXTRACT [Column_0] string
    FROM "adl://~/raw/file1.txt"
    USING Extractors.Tsv(skipFirstNRows:1, quoting: false, silent: true);

@res1 =
    SELECT 
                [field1] string,
                [field2] string,
                [field3] string
    FROM @input;

OUTPUT @res1   
    TO "adl://~/processed/file1.csv"    
    USING Outputters.Csv(quoting: false);

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

使用Text Extractor,并指定" |"作为分隔符。

@data = 
    EXTRACT
        field1 string,
        field2 string,
        field3 string
    FROM "/input1.txt"
    USING Extractors.Text(skipFirstNRows:1, quoting: false, silent: true, delimiter: '|');


OUTPUT @data
    TO "/output1.csv"    
    USING Outputters.Csv(quoting: false);