Opracowywanie operatorów zdefiniowanych przez użytkownika U-SQL (U-SQL)

W tym artykule opisano sposób tworzenia operatorów zdefiniowanych przez użytkownika w celu przetwarzania danych w zadaniu U-SQL.

Definiowanie i używanie operatora zdefiniowanego przez użytkownika w języku U-SQL

Aby utworzyć i przesłać zadanie U-SQL

  1. W menu programu Visual Studio wybierz pozycję Plik > nowy > projekt > U-SQL Project.

  2. Wybierz przycisk OK. Program Visual Studio tworzy rozwiązanie z plikiem Script.usql.

  3. W Eksplorator rozwiązań rozwiń węzeł Script.usql, a następnie kliknij dwukrotnie Script.usql.cs.

  4. Wklej poniższy kod do pliku:

    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. Otwórz plik Script.usql i wklej następujący skrypt 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. Określ konto usługi Data Lake Analytics, bazę danych i schemat.

  7. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy pozycję Script.usql, a następnie wybierz pozycję Kompiluj skrypt.

  8. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy pozycję Script.usql, a następnie wybierz pozycję Prześlij skrypt.

  9. Jeśli nie nawiązano połączenia z subskrypcją platformy Azure, zostanie wyświetlony monit o wprowadzenie poświadczeń konta platformy Azure.

  10. Wybierz pozycję Prześlij. Wyniki przesyłania i link zadania są dostępne w oknie Wyniki po zakończeniu przesyłania.

  11. Wybierz przycisk Odśwież , aby wyświetlić najnowszy stan zadania i odświeżyć ekran.

Aby wyświetlić dane wyjściowe

  1. W Eksploratorze serwerarozwiń węzełAzure, rozwiń Data Lake Analytics, rozwiń konto Data Lake Analytics, rozwiń węzeł Konta magazynu, kliknij prawym przyciskiem myszy pozycję Magazyn domyślny, a następnie wybierz pozycję Eksplorator.

  2. Rozwiń węzeł Przykłady, rozwiń węzeł Dane wyjściowe, a następnie kliknij dwukrotnie Drivers.csv.

Następne kroki