我有一个自定义的 USql 应用程序,它扩展了IApplier
class.
[SqlUserDefinedApplier]
public class CsvApplier : IApplier
{
public CsvApplier()
{
//totalcount = count;
}
public override IEnumerable<IRow> Apply(IRow input, IUpdatableRow output)
{
//....custom logic
//yield return or yield break
}
}
然后从 Usql 脚本中使用该应用程序作为
@log =
SELECT t.ultimateID,
t.siteID,
.
.
.
t.eTime,
t.hours
FROM @logWithCount
CROSS APPLY
new BSWBigData.USQLApplier.CsvApplier() AS t(ultimateID string, siteID string, .... , eTime string, hours double, count long?);
我已经能够为应用程序的解耦部分编写单元测试/ATP。
我如何为 C# 代码编写测试Apply
方法和依赖于输入/输出的自定义逻辑?
如何使用定义的输入和输出自动测试 usql 脚本,以便不需要数据湖帐户?
在我们发布独立的 U-SQL Localrun SDK 包之前,请从安装 ADLA Tool for VS 的位置获取所需的文件。
在 VS2015 中,本地运行所需的所有依赖项均位于“C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Microsoft Azure Data Lake DRI Tools for Visual Studio 2015\2.0.XXXX”中。 0\本地运行SDK。您还需要“C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Microsoft Azure Data Lake DRI Tools for Visual Studio 2015\2.0.XXXX.0\CppSDK”
只需从这两个文件夹复制文件并将它们放在类似的位置:
C:\USQLLocalRunSDK
然后您可以使用“LocalRunHelper.exe”在本地编译并运行您的u-sql脚本。在编译命令行上,您需要两个选项:
-DataRoot“本地元数据和数据的存储位置”,与 ADLA 工具中的设置选项相同。
-CppSDK“复制 CppSDK 文件的位置”
该工具将在出错(编译或运行)时返回 -1,在成功时返回 0。
只需运行该工具即可查看命令行选项列表。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)