Door de gebruiker gedefinieerde U-SQL-Opera tors ontwikkelen (Udo's)
In dit artikel wordt beschreven hoe u door de gebruiker gedefinieerde Opera tors ontwikkelt om gegevens in een U-SQL-taak te verwerken.
Een door de gebruiker gedefinieerde operator definiëren en gebruiken in U-SQL
Een U-SQL-taak maken en verzenden
Selecteer in Visual Studio File > New > project > U-SQL project.
Klik op OK. Visual Studio maakt een oplossing met een script. usql-bestand.
Vouw in Solution Explorer script. usql uit en dubbel klik vervolgens op script. usql. cs.
Plak de volgende code in het bestand:
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(); } } }Open script. usql en plak het volgende U-SQL-script:
@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);Geef het Data Lake Analytics-account, de database en het schema op.
Ga naar Solution Explorer, klik met de rechtermuisknop op Script.usql en klik vervolgens op Build Script.
Ga naar Solution Explorer, klik met de rechtermuisknop op Script.usql en klik vervolgens op Submit Script.
Als u nog geen verbinding hebt gemaakt met uw Azure-abonnement, wordt u gevraagd om uw Azure-account referenties in te voeren.
Klik op Submit De inzendings resultaten en taak koppeling zijn beschikbaar in het resultaten venster wanneer de verzen ding is voltooid.
Klik op de knop vernieuwen om de nieuwste taak status weer te geven en het scherm te vernieuwen.
Als u de uitvoer wilt bekijken
Vouw in Server Explorer Azure uit, vouw Data Lake Analytics uit, vouw uw data Lake Analytics account uit, vouw opslag accounts uit, klik met de rechter muisknop op de standaard opslag en klik vervolgens op Explorer.
Vouw voor beelden uit, vouw uitvoer uit en dubbel klik vervolgens op Drivers.csv.