Sviluppare operatori U-SQL definiti dall'utente (UDO)Develop U-SQL user-defined operators (UDOs)

Informazioni su come sviluppare operatori definiti dall'utente per elaborare i dati in un processo U-SQL.Learn how to develop user-defined operators to process data in a U-SQL job.

Per istruzioni sullo sviluppo di assembly per utilizzo generico per U-SQL, vedere Sviluppare assembly U-SQL per processi di Azure Data Lake AnalyticsFor instructions on developing general-purpose assemblies for U-SQL, see Develop U-SQL assemblies for Azure Data Lake Analytics jobs

Definire e usare un operatore definito dall'utente in U-SQLDefine and use a user-defined operator in U-SQL

Per creare e inviare un processo di U-SQLTo create and submit a U-SQL job

  1. In Visual Studio selezionare File > Nuovo > Progetto > U-SQL Project (Progetto U-SQL).From the Visual Studio select File > New > Project > U-SQL Project.
  2. Fare clic su OK.Click OK. Visual Studio crea una soluzione con un file Script.usql.Visual Studio creates a solution with a Script.usql file.
  3. In Esplora soluzioni espandere Script.usql e fare doppio clic su Script.usql.cs.From Solution Explorer, expand Script.usql, and then double-click Script.usql.cs.
  4. Incollare il seguente codice nel file:Paste the following code into the 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:Open Script.usql, and paste the following U-SQL script:

     @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.Specify the Data Lake Analytics account, Database, and Schema.
  7. In Esplora soluzioni fare clic con il pulsante destro del mouse su Script.usql e quindi scegliere Build Script (Compila script).From Solution Explorer, right-click Script.usql, and then click Build Script.
  8. In Esplora soluzioni fare clic con il pulsante destro del mouse su Script.usql e quindi scegliere Submit Script (Invia script).From Solution Explorer, right-click Script.usql, and then click Submit Script.
  9. Se non ci si è ancora connessi alla sottoscrizione di Azure, verrà richiesto di immettere le credenziali dell'account Azure.If you haven't connected to your Azure subscription, you will be prompted to enter your Azure account credentials.
  10. Fare clic su Submit.Click Submit. Al termine della procedura di invio, nella finestra dei risultati saranno disponibili i risultati dell'operazione di invio e il collegamento al processo.Submission results and job link are available in the Results window when the submission is completed.
  11. Per visualizzare lo stato attuale del processo, fare clic sul pulsante Aggiorna per aggiornare la schermata.Click the Refresh button to see the latest job status and refresh the screen.

Per visualizzare l'outputTo see the output

  1. Da Esplora server espandere Azure, quindi Data Lake Analytics, l'account Data Lake Analytics e infine Account di archiviazione. Fare clic con il pulsante destro del mouse su Archivio predefinito e quindi scegliere Esplora.From Server Explorer, expand Azure, expand Data Lake Analytics, expand your Data Lake Analytics account, expand Storage Accounts, right-click the Default Storage, and then click Explorer.
  2. Espandere esempi, espandere gli output e quindi fare doppio clic su Drivers.csv.Expand Samples, expand Outputs, and then double-click Drivers.csv.

Vedere anche See also