U-SQL kullanıcı tanımlı işleçler (UPO'lar) geliştirme

Bu makalede, U-SQL işinde verileri işlemek için kullanıcı tanımlı işleçlerin nasıl geliştirilecekleri açıklanır.

U-SQL'de kullanıcı tanımlı işleç tanımlama ve kullanma

U-SQL işi oluşturmak ve göndermek için

  1. Visual Studio menüsünde Dosya Yeni > Proje > U-SQL Projesi'ni seçin>.

  2. Tamam’ı seçin. Visual Studio, Script.usql dosyasıyla bir çözüm oluşturur.

  3. Çözüm Gezgini script.usql dosyasını genişletin ve Script.usql.cs çift tıklayın.

  4. Aşağıdaki kodu dosyaya yapıştırın:

    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. Script.usql dosyasını açın ve aşağıdaki U-SQL betiğini yapıştırın:

    @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. Data Lake Analytics hesabını, Veritabanı'nı ve Şema'yı belirtin.

  7. Çözüm GezginiBetik.usql dosyasına sağ tıklayın ve Ardından Betik Oluştur'a tıklayın.

  8. Çözüm Gezginiscript.usql dosyasına sağ tıklayıp Betiği Gönder'i seçin.

  9. Azure aboneliğinize bağlanmadıysanız Azure hesabı kimlik bilgilerinizi girmeniz istenir.

  10. Gönder’i seçin. Gönderim tamamlandığında Sonuçlar penceresinde gönderim sonuçları ve iş bağlantısı bulunur.

  11. En son iş durumunu görmek ve ekranı yenilemek için Yenile düğmesini seçin.

Çıkışı görmek için

  1. Sunucu Gezgini'ndenAzure'ı genişletin, Data Lake Analytics genişletin, Data Lake Analytics hesabınızı genişletin, Depolama Hesapları'nı genişletin, Varsayılan Depolama'ya sağ tıklayın ve gezgin'i seçin.

  2. Örnekler'i genişletin, Çıkışlar'ı genişletin ve ardındanDrivers.csvöğesine çift tıklayın.

Sonraki adımlar