Compartir a través de


Desarrollo de operadores U-SQL definidos por el usuario (UDO)

En este artículo se describe cómo desarrollar operadores definidos por el usuario para procesar datos en un trabajo de U-SQL.

Definición y uso de un operador definido por el usuario en U-SQL

Para crear y enviar un trabajo de U-SQL

  1. En el menú de Visual Studio, seleccione Archivo > nuevo > proyecto > U-SQL Project.

  2. Seleccione Aceptar. Visual Studio crea una solución con un archivo Script.usql.

  3. En el Explorador de soluciones, expanda Script.usql y haga doble clic en Script.usql.cs.

  4. Pegue el código siguiente en el archivo:

    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. Abra Script.usql y pegue el siguiente script de U-SQL:

    @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. Especifique la cuenta de Análisis de Data Lake, la base de datos y el esquema.

  7. En Explorador de soluciones, haga clic con el botón derecho en Script.usql y, después, seleccione Compilar script.

  8. En Explorador de soluciones, haga clic con el botón derecho en Script.usql y seleccione Enviar script.

  9. Si no se ha conectado a su suscripción de Azure, se le pedirá que escriba las credenciales de la cuenta de Azure.

  10. Seleccione Submit (Enviar). Los resultados del envío y el vínculo del trabajo están disponibles en la ventana de resultados cuando se completa el envío.

  11. Seleccione el botón Actualizar para ver el estado del trabajo más reciente y actualizar la pantalla.

Para ver la salida

  1. En el Explorador de servidores, expanda Azure, expanda Data Lake Analytics, expanda la cuenta de Data Lake Analytics, expanda Cuentas de almacenamiento, haga clic con el botón derecho en el almacenamiento predeterminado y, a continuación, seleccione Explorador.

  2. Expanda Ejemplos, expanda Salidas y, finalmente, haga doble clic en Drivers.csv.

Pasos siguientes