Azure Data Lake Analytics'i kullanarak Web sitesi günlüklerini çözümleme

Özellikle de Web sitesini ziyaret etmeye çalıştıklarında hangi başvuranları hatalara çalıştığını bulmada Data Lake Analytics kullanarak Web sitesi günlüklerini çözümlemeyi öğrenin.

Önkoşullar

Azure'a Bağlanma

Herhangi bir U-SQL betiğini oluşturup test etmeden önce, önce Azure 'a bağlanmanız gerekir.

Data Lake Analytics'e bağlanmak için

  1. Visual Studio'yu açın.
  2. Data Lake > seçenekler ve ayarlar' a tıklayın.
  3. Oturum aç' a tıklayın veya biri oturum açmışsa kullanıcıyı değiştirin ve yönergeleri izleyin.
  4. Seçenekler ve ayarlar iletişim kutusunu kapatmak için Tamam ' ı tıklatın.

Data Lake Analytics hesaplarınıza gözatmaya yönelik

  1. Visual Studio 'da, CTRL + ALT + S tuşlarına basarak Sunucu Gezgini açın.
  2. Sunucu Gezgini'nden, Azure seçeneğini ve ardından Data Lake Analytics seçeneğini genişletin. Varsa Data Lake Analytics hesaplarınızın listesini görürsünüz. Studio 'dan Data Lake Analytics Hesapları oluşturamazsınız. Hesap oluşturmak için bkz. Azure Portal'ı kullanarak Azure Data Lake Analytics ile çalışmaya başlama veya Azure PowerShell'i kullanarak Azure Data Lake Analytics ile çalışmaya başlama.

U-SQL uygulaması geliştirme

U-SQL uygulaması, çoğunlukla bir U-SQL betiğtir. U-SQL hakkında daha fazla bilgi edinmek için, bkz. u-SQL kullanmaya başlama.

Uygulamaya Kullanıcı tanımlı operatörler ekleme ekleyebilirsiniz. Daha fazla bilgi için bkz. Data Lake Analytics işleri Için U-SQL Kullanıcı tanımlı Işleçler geliştirme.

Data Lake Analytics işi oluşturma ve gönderme

  1. > yeni > projesi dosyasına tıklayın.

  2. U-SQL Projesi türünü seçin.

    yeni U-SQL Visual Studio projesi

  3. Tamam'a tıklayın. Visual Studio, Script. usql dosyası ile bir çözüm oluşturur.

  4. Script. usql dosyasına aşağıdaki betiği girin:

    // Create a database for easy reuse, so you don't need to read from a file very time.
    CREATE DATABASE IF NOT EXISTS SampleDBTutorials;
    
    // Create a Table valued function. TVF ensures that your jobs fetch data from he weblog file with the correct schema.
    DROP FUNCTION IF EXISTS SampleDBTutorials.dbo.WeblogsView;
    CREATE FUNCTION SampleDBTutorials.dbo.WeblogsView()
    RETURNS @result TABLE
    (
        s_date DateTime,
        s_time string,
        s_sitename string,
        cs_method string,
        cs_uristem string,
        cs_uriquery string,
        s_port int,
        cs_username string,
        c_ip string,
        cs_useragent string,
        cs_cookie string,
        cs_referer string,
        cs_host string,
        sc_status int,
        sc_substatus int,
        sc_win32status int,
        sc_bytes int,
        cs_bytes int,
        s_timetaken int
    )
    AS
    BEGIN
    
        @result = EXTRACT
            s_date DateTime,
            s_time string,
            s_sitename string,
            cs_method string,
            cs_uristem string,
            cs_uriquery string,
            s_port int,
            cs_username string,
            c_ip string,
            cs_useragent string,
            cs_cookie string,
            cs_referer string,
            cs_host string,
            sc_status int,
            sc_substatus int,
            sc_win32status int,
            sc_bytes int,
            cs_bytes int,
            s_timetaken int
        FROM @"/Samples/Data/WebLog.log"
        USING Extractors.Text(delimiter:' ');
        RETURN;
    END;
    
    // Create a table for storing referrers and status
    DROP TABLE IF EXISTS SampleDBTutorials.dbo.ReferrersPerDay;
    @weblog = SampleDBTutorials.dbo.WeblogsView();
    CREATE TABLE SampleDBTutorials.dbo.ReferrersPerDay
    (
        INDEX idx1
        CLUSTERED(Year ASC)
        DISTRIBUTED BY HASH(Year)
    ) AS
    
    SELECT s_date.Year AS Year,
        s_date.Month AS Month,
        s_date.Day AS Day,
        cs_referer,
        sc_status,
        COUNT(DISTINCT c_ip) AS cnt
    FROM @weblog
    GROUP BY s_date,
            cs_referer,
            sc_status;
    

    U-SQL ' y i anlamak için bkz. Data Lake Analytics U-SQL dili ile çalışmaya başlama.

  5. Projenize yeni bir U-SQL betiği ekleyin ve aşağıdakileri girin:

    // Query the referrers that ran into errors
    @content =
        SELECT *
        FROM SampleDBTutorials.dbo.ReferrersPerDay
        WHERE sc_status >=400 AND sc_status < 500;
    
    OUTPUT @content
    TO @"/Samples/Outputs/UnsuccessfulResponses.log"
    USING Outputters.Tsv();
    
  6. İlk U-SQL betiğine geri dönün ve Gönder düğmesinin yanındaki analiz hesabınızı belirtin.

  7. Çözüm Gezgini'nden, Script.usql öğesine sağ tıklayın ve ardından Betik Oluştur'a tıklayın. Çıkış bölmesinde sonuçları doğrulayın.

  8. Çözüm Gezgini'nden, Script.usql öğesine sağ tıklayın ve ardından Betiği Gönder'e tıklayın.

  9. Analiz hesabının işi çalıştırmak istediğiniz yer olduğundan emin olun ve ardından Gönder' e tıklayın. Gönderim tamamlandığında, gönderme işleminin sonuçları ve iş bağlantısı Visual Studio için Data Lake Araçları içinde sunulur.

  10. İş başarılı bir şekilde tamamlanana kadar bekleyin. İş başarısız olursa büyük olasılıkla kaynak dosya eksik olabilir. Lütfen Bu öğreticinin önkoşul bölümüne bakın. Ek sorun giderme bilgileri için bkz. Azure Data Lake Analytics Işleri izleme ve sorun giderme.

    İş tamamlandığında, aşağıdaki ekranı görürsünüz:

    Data Lake Analytics Web günlüklerini Web sitesi günlüklerini çözümleme

  11. Şimdi Script1. usql için 7-10 adımlarını yineleyin.

İş çıktısını görmek için

  1. Sunucu Gezgini'nden, Azure seçeneğini, Data Lake Analytics seçeneğini, Data Lake Analytics hesabınızı ve Depolama Hesapları seçeneğini genişletin, varsayılan Data Lake Store hesabına sağ tıklayın ve ardından Explorer'a tıklayın.
  2. Klasörü açmak için örnekler ' e çift tıklayın ve ardından Çıkış' a çift tıklayın.
  3. Başarılı olmayan yanıtlar. log dosyasına çift tıklayın.
  4. Ayrıca, doğrudan çıkışa gitmek için işin grafik görünümündeki çıkış dosyasına çift tıklayabilirsiniz.

Sonraki adımlar

Farklı araçlar kullanarak Data Lake Analytics ile çalışmaya başlamak için bkz.