Vývoj uživatelem definovaných operátorů U-SQL
Tento článek popisuje, jak vyvíjet uživatelem definované operátory pro zpracování dat v úloze U-SQL.
Definování a použití uživatelem definovaného operátoru v U-SQL
Vytvoření a odeslání úlohy U-SQL
V nabídce sady Visual Studio vyberte Soubor > Nový > projekt > U-SQL.
Vyberte OK. Visual Studio vytvoří řešení se souborem Script.usql.
V Průzkumník řešení rozbalte Script.usql a potom poklikejte na Script.usql.cs.
Do souboru vložte následující kód:
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(); } } }
Otevřete Soubor Script.usql a vložte následující skript U-SQL:
@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);
Zadejte účet Data Lake Analytics, Databázi a Schéma.
V Průzkumník řešení klikněte pravým tlačítkem na Script.usql a pak vyberte Sestavit skript.
V Průzkumník řešení klikněte pravým tlačítkem na Script.usql a pak vyberte Odeslat skript.
Pokud jste se nepřipojili ke svému předplatnému Azure, zobrazí se výzva k zadání přihlašovacích údajů účtu Azure.
Vyberte Odeslat. Výsledky odeslání a odkaz na úlohu jsou po dokončení odeslání k dispozici v okně Výsledky.
Výběrem tlačítka Aktualizovat zobrazte nejnovější stav úlohy a aktualizujte obrazovku.
Zobrazení výstupu
V Průzkumníku serveru rozbalte Azure, rozbalte Data Lake Analytics, rozbalte Data Lake Analytics účet, rozbalte Účty úložiště, klikněte pravým tlačítkem na Výchozí úložiště a pak vyberte Průzkumník.
Rozbalte ukázky, výstupy a poklikejte na Drivers.csv.