gpt4 book ai didi

c# - usql 应用程序和脚本的单元测试

转载 作者:太空狗 更新时间:2023-10-30 00:49:30 24 4
gpt4 key购买 nike

我有一个自定义的 USql 应用程序,它扩展了 IApplier 类。

[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。

如何为 Apply 方法的 C# 代码和依赖于输入/输出的自定义逻辑编写测试?我如何使用定义的输入和输出自动测试 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\LocalRunSDK。您还需要“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。

只需运行该工具即可查看命令行选项列表。

关于c# - usql 应用程序和脚本的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37717821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com