Bagikan melalui


Mengembangkan operator U-SQL yang didefinisikan pengguna (UDO)

Artikel ini menjelaskan cara mengembangkan operator yang ditentukan pengguna untuk memproses data dalam pekerjaan U-SQL.

Menentukan dan menggunakan operator yang ditentukan pengguna di U-SQL

Untuk membuat dan mengirimkan pekerjaan U-SQL

  1. Dari menu Visual Studio, pilih File > Proyek > Baru >Proyek U-SQL .

  2. Pilih OK. Visual Studio membuat solusi dengan file Script.usql.

  3. Dari Solution Explorer, perluas Script.usql, lalu klik dua kali Script.usql.cs.

  4. Tempelkan kode berikut ke dalam 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. Buka Script.usql, dan tempelkan skrip U-SQL berikut:

    @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. Tentukan akun Data Lake Analytics, Database, dan Skema.

  7. Dari Penjelajah Solusi, klik kanan Script.usql, lalu pilih Bangun Skrip.

  8. Dari Penjelajah Solusi, klik kanan Script.usql, lalu pilih Kirim Skrip.

  9. Jika Anda belum tersambung ke langganan Azure, Anda akan diminta untuk memasukkan kredensial akun Azure Anda.

  10. Pilih Kirim. Hasil pengiriman dan tautan pekerjaan tersedia di jendela Hasil saat pengiriman selesai.

  11. Pilih tombol Refresh untuk melihat status pekerjaan terbaru dan refresh layar.

Untuk melihat output

  1. Dari Server Explorer, perluas Azure, perluas Data Lake Analytics, perluas akun Data Lake Analytics Anda, perluas Akun Penyimpanan, klik kanan Penyimpanan Default, lalu pilih Explorer.

  2. Perluas Sampel, perluas Output, lalu klik dua kali Drivers.csv.

Langkah berikutnya