U-Sql 提取错误
U-Sql Error in Extracting
我们编写了一个 USQL 脚本来提取一个(.CSV 文件),其中所有列都被提取为一行。但是由于作业失败,我们无法处理所有文件。我们得到的错误消息是 "VERTEX FAILED FAST" 但是,如果我们将文件格式转换为 (.Csv)(MS-DOS) 扩展名,作业就会执行。
有人可以找出问题并告诉我们如何解决吗?或者任何其他将所有列提取为一行的方法也会有所帮助。我们也附上脚本。
$scripts = @"
@rs =
EXTRACT
line string,
filename string
FROM "$filepath/$jobid/{filename}.csv"
USING Extractors.Text(delimiter:'\n', skipFirstNRows: 1);
@j =
SELECT *
FROM @rs;
@rs1 =
SELECT *
FROM @j
WHERE $output;
@k=
SELECT filename,COUNT() AS Count1
FROM @j
WHERE $output
GROUP BY filename;
OUTPUT @rs1
TO "$filepath/$jobid/logdata.txt"
USING Outputters.Text();
OUTPUT @k
TO "$filepath/$jobid/count.txt"
USING Outputters.Text();
"@
首先,我很抱歉目前错误信息不是很明显。 Vertex Failed 快速错误消息包含更多详细信息,应该告诉您实际导致顶点失败的原因。你有那个信息吗?没有它,不推测就很难回答这个问题。
话虽如此,Vertex 快速失败的根本原因通常属于以下类别之一:
您的行的列数与您预期的不同。这里不太可能是这种情况。
您的行包含无法转换为列的指定数据类型的数据。同样,您的情况不太可能。
您的 row/cell 包含的数据对于该数据类型来说太大了。这可能是你的情况,尽管因为你提到更改 CSV 文件编码使其工作似乎表明它也可能是 4。如果是这种情况,你将不得不找到一种方法来截断或拆分行多行。
文件的编码不是 UTF-8(如默认设置所假设的那样),而是一些其他编码,它会导致错误(充其量是无效编码,或前 3 个选项中的任何一个) ).如果是这种情况,请指定正确的编码或更改文件的编码。
如果这不能帮助您解决问题,请将 usql (at) microsoft dot com 的工作转发给我 link。
我们编写了一个 USQL 脚本来提取一个(.CSV 文件),其中所有列都被提取为一行。但是由于作业失败,我们无法处理所有文件。我们得到的错误消息是 "VERTEX FAILED FAST" 但是,如果我们将文件格式转换为 (.Csv)(MS-DOS) 扩展名,作业就会执行。 有人可以找出问题并告诉我们如何解决吗?或者任何其他将所有列提取为一行的方法也会有所帮助。我们也附上脚本。
$scripts = @"
@rs =
EXTRACT
line string,
filename string
FROM "$filepath/$jobid/{filename}.csv"
USING Extractors.Text(delimiter:'\n', skipFirstNRows: 1);
@j =
SELECT *
FROM @rs;
@rs1 =
SELECT *
FROM @j
WHERE $output;
@k=
SELECT filename,COUNT() AS Count1
FROM @j
WHERE $output
GROUP BY filename;
OUTPUT @rs1
TO "$filepath/$jobid/logdata.txt"
USING Outputters.Text();
OUTPUT @k
TO "$filepath/$jobid/count.txt"
USING Outputters.Text();
"@
首先,我很抱歉目前错误信息不是很明显。 Vertex Failed 快速错误消息包含更多详细信息,应该告诉您实际导致顶点失败的原因。你有那个信息吗?没有它,不推测就很难回答这个问题。
话虽如此,Vertex 快速失败的根本原因通常属于以下类别之一:
您的行的列数与您预期的不同。这里不太可能是这种情况。
您的行包含无法转换为列的指定数据类型的数据。同样,您的情况不太可能。
您的 row/cell 包含的数据对于该数据类型来说太大了。这可能是你的情况,尽管因为你提到更改 CSV 文件编码使其工作似乎表明它也可能是 4。如果是这种情况,你将不得不找到一种方法来截断或拆分行多行。
文件的编码不是 UTF-8(如默认设置所假设的那样),而是一些其他编码,它会导致错误(充其量是无效编码,或前 3 个选项中的任何一个) ).如果是这种情况,请指定正确的编码或更改文件的编码。
如果这不能帮助您解决问题,请将 usql (at) microsoft dot com 的工作转发给我 link。