Utveckla U-SQL-användardefinierade operatorer (U-SQL-användardefinierade operatorer)
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
På Visual Studio-menyn väljer du Fil > nytt > projekt > U-SQL-projekt.
Välj OK. Visual Studio skapar en lösning med en Script.usql-fil.
Från Solution Explorer expanderar du Script.usql och dubbelklickar 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.
Högerklicka på Script.usqlfrån Solution Explorer och välj sedan Skapa skript.
Högerklicka på Script.usqlfrån Solution Explorer och välj sedan Skicka skript.
Om du inte har anslutit till din Azure-prenumeration uppmanas du att ange dina autentiseringsuppgifter för Azure-kontot.
Välj Skicka. Sändningsresultat och jobblänk är tillgängliga i fönstret Resultat när överföringen har slutförts.
Välj knappen Uppdatera för att se den senaste jobbstatusen och uppdatera skärmen.
Så här ser du utdata
Från Server Explorer expanderar du Azure, expanderar Data Lake Analytics, expanderar ditt Data Lake Analytics-konto, expanderar Lagringskonton, högerklickar på Standardlagring och väljer sedan Utforskaren.
Expandera Exempel, expandera Utdata och dubbelklicka sedan på Drivers.csv.