Desenvolver operadores definidos pelo utilizador (UDOs) U-SQL

Este artigo descreve como desenvolver operadores definidos pelo utilizador para processar dados numa tarefa U-SQL.

Definir e utilizar um operador definido pelo utilizador no U-SQL

Para criar e submeter uma tarefa U-SQL

  1. No menu do Visual Studio, selecione Ficheiro > Novo > Projeto > Projeto Projeto U-SQL Project.

  2. Selecione OK. O Visual Studio cria uma solução com um ficheiro Script.usql.

  3. Em Explorador de Soluções, expanda Script.usql e, em seguida, faça duplo clique Script.usql.cs.

  4. Cole o código seguinte no ficheiro:

    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 e cole o seguinte script 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 a conta do Data Lake Analytics, a Base de Dados e o Esquema.

  7. Em Explorador de Soluções, clique com o botão direito do rato em Script.usql e, em seguida, selecione Criar Script.

  8. Em Explorador de Soluções, clique com o botão direito do rato em Script.usql e, em seguida, selecione Submeter Script.

  9. Se ainda não se tiver ligado à sua subscrição do Azure, ser-lhe-á pedido que introduza as credenciais da conta do Azure.

  10. Selecione Submeter. Os resultados da submissão e a ligação da tarefa estão disponíveis na janela Resultados quando a submissão estiver concluída.

  11. Selecione o botão Atualizar para ver o estado da tarefa mais recente e atualizar o ecrã.

Para ver a saída

  1. No Explorador de Servidores, expanda Azure, expanda Data Lake Analytics, expanda a sua conta de Data Lake Analytics, expanda Contas de Armazenamento, clique com o botão direito do rato no Armazenamento Predefinido e, em seguida, selecione Explorador.

  2. Expanda Exemplos, expanda Saídas e, em seguida, faça duplo clique Drivers.csv.

Passos seguintes