我有一个从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
但是,我的工作因附加错误而失败:
此外,我附加了我想在作业中使用的CSV文件。 Sample CSV file
CSV文件有什么问题吗?还是在我的剧本? 请帮忙。感谢。
答案 0 :(得分:1)
我相信在从文件中提取数据时,您可以传入一些额外的参数来忽略标题行
@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)
我按照您的步骤重现了您的问题。
我的示例数据:
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();
输出:
希望它对你有所帮助。