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
No menu do Visual Studio, selecione Arquivo > Novo > Projeto > U-SQL Project.
Selecione OK. O Visual Studio cria uma solução com um arquivo Script.usql.
No Gerenciador de Soluções, expanda Script.usql e clique duas vezes em Script.usql.cs.
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(); } } }
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);
Especifique a conta da Análise do Data Lake, o Banco de Dados e o Esquema.
Em Gerenciador de Soluções, clique com o botão direito do mouse em Script.usql e selecione Criar Script.
Em Gerenciador de Soluções, clique com o botão direito do mouse em Script.usql e selecione Enviar Script.
Se você ainda não se conectou à sua assinatura do Azure, será solicitado que você insira suas credenciais de conta do Azure.
Selecione Enviar. Os resultados do envio e o link do trabalho estarão disponíveis na janela Resultados quando o envio for concluído.
Selecione o botão Atualizar para ver o trabalho mais recente status e atualizar a tela.
Para ver a saída
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.
Expanda Exemplos, expanda Saídas e clique duas vezes em Drivers.csv.