arg*_*ype 3 azure-data-lake u-sql
我有自定义提取器,我正在尝试从中记录一些消息.
我尝试过类似的东西Console.WriteLine,但找不到输出的位置.但是,我发现了一些系统日志adl://<my_DLS>.azuredatalakestore.net/system/jobservice/jobs/Usql/.../<my_job_id>/.
我该如何记录某些内容?是否可以在Data Lake Store或Blob存储帐户的某处指定日志文件?
最近发布的U-SQL为UDO添加了诊断日志记录.请参阅此处的发行说明.
// 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);
Run Code Online (Sandbox Code Playgroud)
这是我从UDO的诊断线:
Microsoft.Analytics.Diagnostics.DiagnosticStream.WriteLine(System.String.Format("Concatenations done: {0}", i));
这是整个UDO:
using System.Collections.Generic;
using System.IO;
using System.Text;
using Microsoft.Analytics.Interfaces;
namespace Utilities
{
[SqlUserDefinedExtractor(AtomicFileProcessing = true)]
public class MyExtractor : IExtractor
{
//Contains the row
private readonly Encoding _encoding;
private readonly byte[] _row_delim;
private readonly char _col_delim;
public MyExtractor()
{
_encoding = Encoding.UTF8;
_row_delim = _encoding.GetBytes("\n\n");
_col_delim = '|';
}
public override IEnumerable<IRow> Extract(IUnstructuredReader input, IUpdatableRow output)
{
string s = string.Empty;
string x = string.Empty;
int i = 0;
foreach (var current in input.Split(_row_delim))
{
using (System.IO.StreamReader streamReader = new StreamReader(current, this._encoding))
{
while ((s = streamReader.ReadLine()) != null)
{
//Strip any line feeds
//s = s.Replace("/n", "");
// Concatenate the lines
x += s;
i += 1;
}
Microsoft.Analytics.Diagnostics.DiagnosticStream.WriteLine(System.String.Format("Concatenations done: {0}", i));
//Create the output
output.Set<string>(0, x);
yield return output.AsReadOnly();
// Reset
x = string.Empty;
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这些是我在以下目录中找到的结果:
/system/jobservice/jobs/Usql/2017/10/20.../diagnosticstreams
| 归档时间: |
|
| 查看次数: |
597 次 |
| 最近记录: |