Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird beschrieben, wie Sie benutzerdefinierte Operatoren entwickeln, um Daten in einem U-SQL-Auftrag zu verarbeiten.
Definieren und Verwenden eines benutzerdefinierten Operators in U-SQL
So erstellen und übermitteln Sie einen U-SQL-Auftrag
Wählen Sie im Visual Studio-Menü Datei > Neues > Project > U-SQL-Projektaus.
Wählen Sie OK aus. Visual Studio erstellt eine Lösungsdatei mit einer Script.usql-Datei.
Erweitern Sie im Lösungs-ExplorerScript.usql, und doppelklicken Sie dann auf Script.usql.cs.
Fügen Sie den folgenden Code in die Datei ein:
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(); } } }Öffnen Sie Script.usql, und fügen Sie das folgende U-SQL-Skript ein:
@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);Geben Sie das Data Lake Analytics-Konto, die Datenbank und das Schema an.
Klicken Sie im Solution Explorermit der rechten Maustaste auf Script.usql, und wählen Sie dann Build Scriptaus.
Klicken Sie im Solution Explorermit der rechten Maustaste auf Script.usql, und wählen Sie dann Skript übermittelnaus.
Wenn Sie keine Verbindung mit Ihrem Azure-Abonnement hergestellt haben, werden Sie aufgefordert, Ihre Azure-Kontoanmeldeinformationen einzugeben.
Wählen Sie Übermitteln aus. Übermittlungsergebnisse und Auftragslink sind im Fenster "Ergebnisse" verfügbar, wenn die Übermittlung abgeschlossen ist.
Wählen Sie die Schaltfläche Aktualisieren aus, um den aktuellen Auftragsstatus anzuzeigen und den Bildschirm zu aktualisieren.
Um die Ausgabe zu sehen
Erweitern Sie aus Server Explorer, erweitern Sie Azure, erweitern Sie Data Lake Analytics, erweitern Sie Ihr Data Lake Analytics-Konto, erweitern Sie Speicherkonten, klicken Sie mit der rechten Maustaste auf den Standardspeicher, und wählen Sie dann Exploreraus.
Erweitern Sie Beispiele, erweitern Sie Ausgaben, und doppelklicken Sie dann auf Drivers.csv.