我有一个CSV文件从Azure blob复制到Azure数据湖商店。成功地建立了管道,并复制了文件。
我试图从这里编写USQL示例脚本:
家庭->数据分析1->示例脚本->新作业
它给我看了默认脚本。
//Define schema of file, must map all columns
@searchlog =
EXTRACT UserId int,
Start DateTime,
Region string,
Query string,
Duration int,
Urls string,
ClickedUrls string
FROM @"/Samples/Data/SearchLog.tsv"
USING Extractors.Tsv();
OUTPUT @searchlog
TO @"/Samples/Output/SearchLog_output.tsv"
USING Outputters.Tsv();注意:我在数据湖存储中的文件在这里:
Home->dls1->数据资源管理器->rdl1 1
如何在脚本中给出CSV文件的路径(我的CSV文件存储在中)。
另外,我希望将我的目标文件(输出)保存在数据湖存储区中。
如何修改脚本以引用数据湖存储路径?
编辑:
我已经修改了我的脚本如下:
//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 @"adl://rdl1.azuredatalakestore.net/blob1/vehicle1_09142014_JR.csv"
USING Extractors.Csv();
OUTPUT @searchlog
TO @"adl://rdl1.azuredatalakestore.net/blob1/vehicle1_09142014_JR1.csv"
USING Outputters.Csv();但是,由于附加错误,我的工作失败了:

此外,我还附加了我希望在工作中使用的CSV文件。示例CSV文件
CSV文件有什么问题吗?还是在我的剧本里?请帮帮忙。谢谢。
发布于 2018-06-18 16:46:02
我认为,在从文件中提取数据时,可以传递一些附加参数来忽略标题行。
@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);在所有场景中,修改输入文件可能是可能的,也可能是不可能的,特别是当输入文件被无法控制的涉众删除时。
发布于 2018-06-18 08:07:11
我跟着你的脚步重复你的问题。

我的样本数据:
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根据错误日志,我发现它不能解析标题row.So,我删除了标题行,一切都正常。
修改后的数据:
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,1Usql脚本:
//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();输出:

希望它能帮到你。
https://stackoverflow.com/questions/50887660
复制相似问题