Freigeben über


Entwickeln von benutzerdefinierten Operatoren von U-SQL (UDOs)

In diesem Artikel erfahren Sie, 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

  1. Wählen Sie im Visual Studio-Menü Datei > Neues > Projekt > U-SQL-Projekt aus.

  2. Klicken Sie auf OK. Visual Studio erstellt eine Projektmappe mit der Datei „Script.usql“.

  3. Erweitern Sie im Projektmappen-Explorer die Datei „Script.usql“, und doppelklicken Sie dann auf Script.usql.cs.

  4. 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();
            }
        }
    }
    
  5. Öffnen Sie die Datei 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);
    
  6. Geben Sie das Data Lake Analytics-Konto, die -Datenbank und das -Schema an.

  7. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf Script.usql, und wählen Sie dann Skript erstellen aus.

  8. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf Script.usql, und wählen Sie dann Skript übermitteln aus.

  9. Wenn Sie keine Verbindung mit Ihrem Azure-Abonnement hergestellt haben, werden Sie aufgefordert, Ihre Anmeldeinformationen für Ihr Azure-Konto einzugeben.

  10. Klicken Sie auf Submit (Senden). Nach Abschluss der Übermittlung werden Ergebnisse und ein Auftragslink im Fenster „Ergebnisse“ angezeigt.

  11. Wählen Sie die Schaltfläche Aktualisieren aus, um den neuesten Auftrag status anzuzeigen und den Bildschirm zu aktualisieren.

So zeigen Sie die Ausgabe an

  1. Erweitern Sie unter Server Explorerazure, erweitern Sie Data Lake Analytics, erweitern Sie Ihr Data Lake Analytics-Konto, erweitern Sie Speicherkonten, klicken Sie mit der rechten Maustaste auf Standardspeicher, und wählen Sie dann Explorer aus.

  2. Erweitern Sie „Beispielcode“ und „Ausgaben“, und doppelklicken Sie dann auf Drivers.csv.

Nächste Schritte