Share via


Door de gebruiker gedefinieerde U-SQL-operators (UDF's) ontwikkelen

In dit artikel wordt beschreven hoe u door de gebruiker gedefinieerde operators ontwikkelt voor het verwerken van gegevens in een U-SQL-taak.

Een door de gebruiker gedefinieerde operator definiëren en gebruiken in U-SQL

Een U-SQL-taak maken en verzenden

  1. Selecteer bestand > Nieuw > project > U-SQL-project in het menu Visual Studio.

  2. Selecteer OK. Visual Studio maakt een oplossing met het bestand Script.usql.

  3. Vouw in Solution Explorer Script.usql uit en dubbelklik op Script.usql.cs.

  4. 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();
            }
        }
    }
    
  5. 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);
    
  6. Geef het Data Lake Analytics-account, de database en het schema op.

  7. Klik in Solution Explorer met de rechtermuisknop op Script.usql en selecteer Vervolgens Build Script.

  8. Klik in Solution Explorer met de rechtermuisknop op Script.usql en selecteer Script verzenden.

  9. Als u nog geen verbinding hebt gemaakt met uw Azure-abonnement, wordt u gevraagd uw Azure-accountreferenties in te voeren.

  10. Selecteer Indienen. Inzendingsresultaten en taakkoppeling zijn beschikbaar in het venster Resultaten wanneer de inzending is voltooid.

  11. Selecteer de knop Vernieuwen om de meest recente taakstatus weer te geven en het scherm te vernieuwen.

De uitvoer bekijken

  1. Vouw in Server ExplorerAzure uit, vouw Data Lake Analytics uit, vouw uw Data Lake Analytics-account uit, vouw Opslagaccounts uit, klik met de rechtermuisknop op standaardopslag en selecteer vervolgens Explorer.

  2. Vouw Voorbeelden uit, vouw Uitvoer uit en dubbelklik vervolgens op Drivers.csv.

Volgende stappen