Azure Data Lake分析作业无法从Data Lake store读取数据

时间:2018-06-16 11:51:02

标签: azure azure-data-factory azure-data-lake u-sql

我有一个从Azure blob复制到Azure数据湖商店的CSV文件。管道线成功建立并复制文件。

我试图从这里编写USQL示例脚本:

  

主页 - > datalakeanalysis1->样本脚本 - >新工作

它显示我的默认脚本。

ran0.o

注意:我在data lake store中的文件位于:

  

主页 - > dls1->数据资源管理器 - > rdl1

如何在脚本中提供CSV文件的路径(我的CSV文件存储在Data Lake Store中)。

另外,我想将目标文件(输出)保存在Data Lake存储中。

如何修改脚本以引用数据湖存储路径?

编辑:

我更改了我的脚本如下:

$ gcc ran0.c -c -o ran0.o

但是,我的工作因附加错误而失败:

enter image description here

此外,我附加了我想在作业中使用的CSV文件。 Sample CSV file

CSV文件有什么问题吗?还是在我的剧本? 请帮忙。感谢。

2 个答案:

答案 0 :(得分:1)

我相信在从文件中提取数据时,您可以传入一些额外的参数来忽略标题行

  

https://msdn.microsoft.com/en-us/azure/data-lake-analytics/u-sql/extractor-parameters-u-sql#skipFirstNRows

@searchlog = 
EXTRACT ID1          int, 
        ID2           int, 
        Date          DateTime, 
        Rs          string, 
        Rs1        string, 
        Number            string, 
        Direction     string,
        ID3            int
FROM @"adl://rdl1.azuredatalakestore.net/blob1/vehicle1_09142014_JR.csv"
USING Extractors.Csv(skipFirstNRows:1);

如果输入文件被您无法控制的利益相关者删除,则在所有情况下都可能修改输入文件,也可能无法修改输入文件。

答案 1 :(得分:0)

我按照您的步骤重现了您的问题。

enter image description here

我的示例数据:

ID1,ID2,Date,Rs,Rs1,Number,Direction,ID3
1,1,9/14/2014 0:00,46.81006,-92.08174,51,S,1
1,2,9/14/2014 0:00,46.81006,-92.08174,13,NE,1
1,3,9/14/2014 0:00,46.81006,-92.08174,48,NE,1
1,4,9/14/2014 0:00,46.81006,-92.08174,30,W,1

根据错误日志,我发现它无法解析标题行。所以,我删除了标题行,一切正常。

修改数据:

1,1,9/14/2014 0:00,46.81006,-92.08174,51,S,1
1,2,9/14/2014 0:00,46.81006,-92.08174,13,NE,1
1,3,9/14/2014 0:00,46.81006,-92.08174,48,NE,1
1,4,9/14/2014 0:00,46.81006,-92.08174,30,W,1

Usql脚本:

//Define schema of file, must map all columns
@searchlog = 
    EXTRACT ID1          int, 
            ID2           int, 
            Date          DateTime, 
            Rs          string, 
            Rs1        string, 
            Number            string, 
            Direction     string,
            ID3            int
    FROM @"/test/data.csv"
    USING Extractors.Csv();

OUTPUT @searchlog 
    TO @"/testOutput/dataOutput.csv"
    USING Outputters.Csv();

输出:

enter image description here

希望它对你有所帮助。