// Enable the diagnostics preview feature
SET @@FeaturePreviews = "DIAGNOSTICS:ON";
// Extract as one column
@input =
EXTRACT col string
FROM "/input/input42.txt"
USING new Utilities.MyExtractor();
@output =
SELECT *
FROM @input;
// Output the file
OUTPUT @output
TO "/output/output.txt"
USING Outputters.Tsv(quoting : false);
2 回答
最近发布的U-SQL为UDO添加了诊断日志记录 . 请参阅发行说明here .
这是我从UDO的诊断线:
Microsoft.Analytics.Diagnostics.DiagnosticStream.WriteLine(System.String.Format("Concatenations done: {0}", i));
这是整个UDO:
这些是我在以下目录中找到的结果:
/system/jobservice/jobs/Usql/2017/10/20.../diagnosticstreams
好问题 . 我一直在问自己同样的事情 . 这是理论上的,但我认为它会起作用(如果我发现不同,我会更新) .
一种非常hacky的方式是您可以将行插入到表中,并将日志消息作为字符串列 . 然后,您可以根据某些log_producer_id列选择那些并过滤 . 如果脚本的一部分工作,您也可以获得日志记录的好处,但是后面的部分不会假设故障不会回滚 . 表可以在结尾转储到文件中 .
对于错误情况,您可以使用ADLA中的作业管理器打开作业图,然后查看作业输出 . 错误通常包含与数据相关的错误的详细信息(例如,带有错误的文件中的行号以及带有###标记的问题的行的八进制/十六进制/ ascii转储) .
希望这可以帮助,
Ĵ
PS . 这不是评论或答案,因为我没有工作代码 . 如果上述想法错误,请提供反馈 .