Tag: u sql

usql应用程序和脚本的unit testing

我有一个自定义的USql应用程序,它扩展了IApplier类。 [SqlUserDefinedApplier] public class CsvApplier : IApplier { public CsvApplier() { //totalcount = count; } public override IEnumerable 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, …. […]

在USQL中处理具有不同列的文件

我有一个USQL脚本和CSV提取器来加载我的文件。 但是有些月份文件可能包含4列,有些月份可能包含5列。 如果我使用4或5个字段的列列表设置我的提取器,我会收到有关文件预期宽度的错误。 去检查分隔符等等。毫不奇怪。 请问USQL仍然是一个新手,并且缺少一些基本的error handling,这个问题的解决方法是什么? 我已经尝试在提取器中使用silent子句来忽略更宽的列,这对4列很方便。 然后获取具有IF条件的行集的行计数,然后该条件具有5列的提取器。 然而,这导致行集变量的世界不被用作IF表达式中的标量变量。 我还尝试了C#样式计数和sizeof(@ AttemptExtractWith4Cols)。 都没有工作。 代码片段让您了解我正在采取的方法: DECLARE @SomeFilePath string = @”/MonthlyFile.csv”; @AttemptExtractWith4Cols = EXTRACT Col1 string, Col2 string, Col3 string, Col4 string FROM @SomeFilePath USING Extractors.Csv(silent : true); //can’t be good. //can’t assign rowset to scalar variable! DECLARE @RowSetCount int = (SELECT COUNT(*) FROM @AttemptExtractWith4Cols); //tells me @AttemptExtractWith4Cols […]

Azure Data Lake Analytics:使用U-SQL组合重叠持续时间

我想使用U-SQL从Azure Data Lake Store中放置的CSV数据中删除重叠持续时间,并将这些行组合在一起。 数据集包含开始时间和结束时间,每个记录包含几个其他属性。 这是一个例子: Start Time – End Time – Usar Name 5:00 AM – 6:00 AM – ABC 5:00 AM – 6:00 AM – XYZ 8:00 AM – 9:00 AM – ABC 8:00 AM – 10:00 AM – ABC 10:00 AM – 2:00 PM – ABC 7:00 AM – 11:00 AM – […]

使用REFERENCE ASSEMBLY时出现U-SQL错误

我使用Azure API创建了一个U-SQL库,并在Azure云上注册了具有所有依赖项的程序集。 我用我的U-SQL项目添加了这个库,并添加到我的U-SQL脚本下面 USE master; REFERENCE ASSEMBLY [AzureLibrary]; 在使用我在库中创建的函数或方法时,我收到以下错误消息。 用户表达式的内部exception:无法加载文件或程序集“Microsoft.Azure.Management.DataLake.Store,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”或其依赖项之一。 该系统找不到指定的文件。 当前行转储:结果:“zzz” 请帮助,我尝试了几种方法,但每次都会出现相同的消息。 ====================================== 我正在使用下面的代码 public static int DelTest() { int Retval = 1; try { var secretKey = ; var appId = ; var tenantId = ; string _adlsAccountName = ; DataLakeStoreFileSystemManagementClient _adlsFileSystemClient; var context = new AuthenticationContext(“https://login.windows.net/” […]

USQL Query从Json Data创建表

我有一个类似于[{}, {}, {}]的json,即可以有多行,每行有许多属性 – 值对,每行保持固定。 @json = EXTRACT MainId string, Details string FROM @INPUT_FILE USING new Microsoft.Analytics.Samples.Formats.Json.JsonExtractor(); 这给了我json作为一个字符串。 我不知道如何得到: row[3].property4就像属性给定行的值。 使属性复杂化的是{Name:“XXX”,Value:“YYY”} @jsonnodes = SELECT JsonApp.JsonFunctions.JsonTuple(@json, “event”, “id”) AS json_map FROM @json; 现在,上面的查询我试过,但它没有用。 它给了我错误: Rowset variable ‘@json’ is not a scalar variable. 我如何获得行属性对并将它们放在csv文件或表中? 谢谢你的帮助。 JSON看起来像: [{“MainId”:”24201803″,”System”:[{“Name”:”event”,”Value”:”S”},{“Name”:”id”,”Value”:””}], “Details”:[{“Name”:”EventName”,”Value”:”W”},{“Name”:”previd”,”Value”:”88″}], “ttl”:8640000}, ….Multiple Rows of the Same type as before….] […]