Utveckla användardefinierade U-SQL-operatörer (Katalogentiteter)
Den här artikeln beskriver hur du utvecklar användardefinierade operatorer för att bearbeta data i ett U-SQL-jobb.
Definiera och använda en användardefinierad operator i U-SQL
Skapa och skicka ett U-SQL-jobb
Från Visual Studio väljer du fil > nytt > projekt > U-SQL-projekt.
Klicka på OK. Visual Studio skapar en lösning med en script. usql-fil.
Expandera script. usql från Solution Explorer och dubbelklicka sedan på script. usql. cs.
Klistra in följande kod i filen:
using Microsoft.Analytics.Interfaces; using System.Collections.Generic; namespace USQL_UDO { public class CountryName : IProcessor { private static IDictionary<string, string> CountryTranslation = new Dictionary<string, string> { { "Deutschland", "Germany" }, { "Suisse", "Switzerland" }, { "UK", "United Kingdom" }, { "USA", "United States of America" }, { "中国", "PR China" } }; public override IRow Process(IRow input, IUpdatableRow output) { string UserID = input.Get<string>("UserID"); string Name = input.Get<string>("Name"); string Address = input.Get<string>("Address"); string City = input.Get<string>("City"); string State = input.Get<string>("State"); string PostalCode = input.Get<string>("PostalCode"); string Country = input.Get<string>("Country"); string Phone = input.Get<string>("Phone"); if (CountryTranslation.Keys.Contains(Country)) { Country = CountryTranslation[Country]; } output.Set<string>(0, UserID); output.Set<string>(1, Name); output.Set<string>(2, Address); output.Set<string>(3, City); output.Set<string>(4, State); output.Set<string>(5, PostalCode); output.Set<string>(6, Country); output.Set<string>(7, Phone); return output.AsReadOnly(); } } }Öppna script. usql och klistra in följande U-SQL-skript:
@drivers = EXTRACT UserID string, Name string, Address string, City string, State string, PostalCode string, Country string, Phone string FROM "/Samples/Data/AmbulanceData/Drivers.txt" USING Extractors.Tsv(Encoding.Unicode); @drivers_CountryName = PROCESS @drivers PRODUCE UserID string, Name string, Address string, City string, State string, PostalCode string, Country string, Phone string USING new USQL_UDO.CountryName(); OUTPUT @drivers_CountryName TO "/Samples/Outputs/Drivers.csv" USING Outputters.Csv(Encoding.Unicode);Ange Data Lake Analytics-kontot, databas och schema.
Från Solution Explorer, högerklicka på Script.usql och klicka sedan på Skapa skript.
Från Solution Explorer, högerklicka på Script.usql och klicka sedan på Skicka skript.
Om du inte har anslutit till din Azure-prenumeration uppmanas du att ange dina autentiseringsuppgifter för Azure-kontot.
Klicka på Skicka. Resultatet av överföringen och jobb länken är tillgängliga i resultat fönstret när överföringen är klar.
Klicka på Uppdatera om du vill se senaste jobb status och uppdatera skärmen.
Visa utdata
Från Server Explorer, expandera Azure, expandera data Lake Analytics, expandera ditt data Lake Analytics-konto, expandera lagrings konton, högerklicka på standard lagringen och klicka sedan på Utforskaren.
Expandera exempel, expandera utdata och dubbelklicka sedan på Drivers.csv.