DataLake Analytics USQL:无法比较数组中的两个元素

时间:2017-08-28 17:49:06

标签: azure-data-lake u-sql

我在Data lake Analytics中创建了一个数据库。 然后填充数据湖中文件的数据。 当我查询我所做的表时,我有一些成功,但有些奇怪的错误。 (对我来说很奇怪!)

这适用:WHERE [Stamped Serial number] ==" 000074O1" 这不是:WHERE [CTN编号] ==" 000074-1"

错误:

  

"代码生成期间发生了系统故障。失败   比较数组中的两个元素。"

这两个字段都是字符串,所以我不确定区别是什么。 一个(失败的一个)也是我的索引和放大器的一部分。分配 - 但如果这与我的问题有关,我就输了。

表def,填充和最终查询的所有代码如下。 如果有人能帮助我理解我做错了什么......!? ......将非常感激:)

脚本:创建表

PackageReference

脚本:填充表

CREATE TABLE IF NOT EXISTS Play.RawData
(
    [CTN Number] string
    ,[SeqNo] long
    ,[UTC Time Stamp for Event] string
    ,[Biz step Description] string
    ,[Stamped Serial number] string
    ,[Container Status] string
    < -- more columns -- >,
INDEX 
    idx_CTN CLUSTERED ([CTN Number],[SeqNo])

DISTRIBUTED BY HASH ([CTN Number],[SeqNo])
);

脚本:测试查询

DECLARE @dir string = "/myDataPath/";
DECLARE @file_set_path string = @dir + "File_{date:yyyy}{date:MM}{date:dd}.DAT";

@results_1 = 
    EXTRACT 
        [CTN Number] string
        ,[UTC Time Stamp for Event] string
        ,[Biz step Description] string
        ,[Stamped Serial number] string
        ,[Container Status] string
        < -- more columns -- >,
        ,date DateTime // virtual file set column
    FROM @file_set_path 
USING Extractors.Tsv();

INSERT INTO Play.RawData(
    [CTN Number],
    [SeqNo],
    [UTC Time Stamp for Event],
    [Biz step Description],
    [Stamped Serial number],
    [Container Status],
        < -- more columns -- >
)
    SELECT 
        [CTN Number],
        ROW_NUMBER() OVER(PARTITION BY [CTN Number] ORDER BY [UTC Time Stamp for Event] ASC) ?? -1 AS [SeqNo],
        [UTC Time Stamp for Event],
        [Biz step Description],
        [Stamped Serial number],
        [Container Status]
FROM @results_1 
WHERE 
        date >= DateTime.Parse("2013-01-01") 
        AND 
        date < DateTime.Parse("2013-02-01");

1 个答案:

答案 0 :(得分:1)

对我来说这看起来像个错误。你能给我发一个关于usql(at)microsoft dot com失败工作的链接吗?

由于 迈克尔