Sviluppare operatori U-SQL definiti dall'utente (UDO)

Questo articolo descrive come sviluppare operatori definiti dall'utente per elaborare i dati in un processo U-SQL.

Definire e usare un operatore definito dall'utente in U-SQL

Per creare e inviare un processo di U-SQL

  1. Dal menu di Visual Studio selezionare File > Nuovo > progetto > U-SQL Project.

  2. Selezionare OK. Visual Studio crea una soluzione con un file Script.usql.

  3. In Esplora soluzioni espandere Script.usql e fare doppio clic su Script.usql.cs.

  4. Incollare il codice seguente nel file:

    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. Aprire Script.usql e incollare lo script U-SQL seguente:

    @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. Specificare l'account di Analisi Data Lake, il database e lo schema.

  7. Da Esplora soluzioni fare clic con il pulsante destro del mouse su Script.usql e quindi scegliere Compila script.

  8. Da Esplora soluzioni fare clic con il pulsante destro del mouse su Script.usql e quindi scegliere Invia script.

  9. Se non si è connessi alla sottoscrizione di Azure, verrà richiesto di immettere le credenziali dell'account Azure.

  10. Selezionare Submit (Invia). Al termine della procedura di invio, nella finestra dei risultati saranno disponibili i risultati dell'operazione di invio e il collegamento al processo.

  11. Selezionare il pulsante Aggiorna per visualizzare lo stato del processo più recente e aggiornare la schermata.

Per visualizzare l'output

  1. In Esplora server espandere Azure, espandere Data Lake Analytics, espandere l'account di Data Lake Analytics, espandere Account di archiviazione, fare clic con il pulsante destro del mouse su Archiviazione predefinita e quindi scegliere Esplora risorse.

  2. Espandere esempi, espandere gli output e quindi fare doppio clic su Drivers.csv.

Passaggi successivi