Felhasználói U-SQL-operátorok (U-SQL-ek) fejlesztése

Ez a cikk bemutatja, hogyan fejleszthet felhasználó által definiált operátorokat az adatok U-SQL-feladatban való feldolgozásához.

Felhasználó által definiált operátor definiálása és használata az U-SQL-ben

U-SQL-feladat létrehozása és elküldése

  1. A Visual Studio menüjében válassza az Új > projekt > fájlja > U-SQL Project lehetőséget.

  2. Válassza az OK lehetőséget. A Visual Studio egy Script.usql-fájllal rendelkező megoldást hoz létre.

  3. A Megoldáskezelő bontsa ki a Script.usql elemet, majd kattintson duplán a Script.usql.cs.

  4. A fájlba illessze be az alábbi kódot:

    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. Nyissa meg a Script.usql fájlt, és illessze be a következő U-SQL-szkriptet:

    @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. Adja meg a Data Lake Analytics-fiókot, -adatbázist és -sémát.

  7. A Megoldáskezelő kattintson a jobb gombbal a Script.usql parancsra, majd válassza a Szkript létrehozása parancsot.

  8. A Megoldáskezelő kattintson a jobb gombbal a Script.usql elemre, majd válassza a Szkript küldése parancsot.

  9. Ha még nem csatlakozott az Azure-előfizetéséhez, a rendszer kérni fogja, hogy adja meg az Azure-fiók hitelesítő adatait.

  10. Válassza a Küldés lehetőséget. A beküldési eredmények és a feladathivatkozás a beküldés befejezésekor az Eredmények ablakban érhető el.

  11. Kattintson a Frissítés gombra a legújabb feladat állapotának megtekintéséhez és a képernyő frissítéséhez.

A kimenet megtekintése

  1. A Server Explorerben bontsa ki az Azure-t, bontsa ki a Data Lake Analytics, bontsa ki a Data Lake Analytics fiókját, bontsa ki a Tárfiókok elemet, kattintson a jobb gombbal az Alapértelmezett tár elemre, majd válassza az Explorer lehetőséget.

  2. Bontsa ki a Minták elemet, bontsa ki a Kimenetek elemet, majd kattintson duplán aDrivers.csv.

Következő lépések