Compartilhar via


Desenvolver UDOs (operadores definidos pelo usuário) do U-SQL

Este artigo descreve como desenvolver operadores definidos pelo usuário para processar dados em um trabalho do U-SQL.

Definir e usar o operador definido pelo usuário no U-SQL

Para criar e enviar um trabalho do U-SQL

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

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

  3. No Gerenciador de Soluções, expanda Script.usql e clique duas vezes em Script.usql.cs.

  4. Cole o seguinte código no arquivo:

    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 o 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 da Análise do Data Lake, o Banco de Dados e o Esquema.

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

  8. Em Gerenciador de Soluções, clique com o botão direito do mouse em Script.usql e selecione Enviar Script.

  9. Se você ainda não se conectou à sua assinatura do Azure, será solicitado que você insira suas credenciais de conta do Azure.

  10. Selecione Enviar. Os resultados do envio e o link do trabalho estarão disponíveis na janela Resultados quando o envio for concluído.

  11. Selecione o botão Atualizar para ver o trabalho mais recente status e atualizar a tela.

Para ver a saída

  1. No Explorer do Servidor, expanda Azure, expanda Data Lake Analytics, expanda sua conta Data Lake Analytics, expanda Contas de Armazenamento, clique com o botão direito do mouse no Armazenamento Padrão e selecione Explorer.

  2. Expanda Exemplos, expanda Saídas e clique duas vezes em Drivers.csv.

Próximas etapas