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

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

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

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

  1. Visual Studio menüsünden 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'nden 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 Şemasını belirtin.

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

  8. Çözüm Gezgini'ndenScript.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önderseç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.

Sonucu görmek için

  1. Sunucu Gezgini'ndenAzure'ı genişletin, Data Lake Analytics'i 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 Drivers.csv öğesine çift tıklayın.

Sonraki adımlar