Utveckla U-SQL-användardefinierade operatorer (U-SQL-användardefinierade operatorer)

Den här artikeln beskriver hur du utvecklar användardefinierade operatorer för att bearbeta data i ett U-SQL-jobb.

Definiera och använda en användardefinierad operator i U-SQL

Skapa och skicka ett U-SQL-jobb

  1. På Visual Studio-menyn väljer du Fil > nytt > projekt > U-SQL-projekt.

  2. Välj OK. Visual Studio skapar en lösning med en Script.usql-fil.

  3. Från Solution Explorer expanderar du Script.usql och dubbelklickar sedan på Script.usql.cs.

  4. Klistra in följande kod i filen:

    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. Öppna Script.usql och klistra in följande U-SQL-skript:

    @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. Ange Data Lake Analytics-kontot, databas och schema.

  7. Högerklicka på Script.usqlfrån Solution Explorer och välj sedan Skapa skript.

  8. Högerklicka på Script.usqlfrån Solution Explorer och välj sedan Skicka skript.

  9. Om du inte har anslutit till din Azure-prenumeration uppmanas du att ange dina autentiseringsuppgifter för Azure-kontot.

  10. Välj Skicka. Sändningsresultat och jobblänk är tillgängliga i fönstret Resultat när överföringen har slutförts.

  11. Välj knappen Uppdatera för att se den senaste jobbstatusen och uppdatera skärmen.

Så här ser du utdata

  1. Från Server Explorer expanderar du Azure, expanderar Data Lake Analytics, expanderar ditt Data Lake Analytics-konto, expanderar Lagringskonton, högerklickar på Standardlagring och väljer sedan Utforskaren.

  2. Expandera Exempel, expandera Utdata och dubbelklicka sedan på Drivers.csv.

Nästa steg