Websitelogboeken analyseren met Azure Data Lake Analytics

Meer informatie over het analyseren van websitelogboeken met behulp van Data Lake Analytics, met name over het achterhalen van welke verwijzers fouten hebben gelopen bij het bezoeken van de website.

Belangrijk

Azure Data Lake Analytics op 29 februari 2024 buiten gebruik gesteld. Meer informatie over deze aankondiging.

Voor gegevensanalyse kan uw organisatie gebruikmaken van Azure Synapse Analytics of Microsoft Fabric.

Vereisten

Verbinding maken met Azure

Voordat u U-SQL-scripts kunt bouwen en testen, moet u eerst verbinding maken met Azure.

Verbinding maken met Data Lake Analytics

  1. Open Visual Studio.
  2. Selecteer Opties en instellingen voor Data Lake>.
  3. Selecteer Aanmelden of Gebruiker wijzigen als iemand zich heeft aangemeld en volg de instructies.
  4. Selecteer OK om het dialoogvenster Opties en instellingen te sluiten.

Door uw Data Lake Analytics-accounts bladeren

  1. Open Server Explorer vanuit Visual Studio door op Ctrl+Alt+S te drukken.
  2. Vouw in Server Explorer achtereenvolgens Azure en Data Lake Analytics uit. U ziet een lijst met uw Data Lake Analytics-accounts, als u die hebt. U kunt geen Data Lake Analytics-accounts maken vanuit de studio. Zie Aan de slag met Azure Data Lake Analytics met Azure Portal of Aan de slag met Azure Data Lake Analytics met Azure PowerShell voor meer informatie over het maken van een account.

U-SQL-toepassing ontwikkelen

Een U-SQL-toepassing is meestal een U-SQL-script. Zie Aan de slag met U-SQL voor meer informatie over U-SQL.

U kunt door de gebruiker gedefinieerde operators toevoegen aan de toepassing. Zie Door de gebruiker gedefinieerde U-SQL-operators ontwikkelen voor Data Lake Analytics-taken voor meer informatie.

Een Data Lake Analytics-taak maken en verzenden

  1. Selecteer het bestand > Nieuw > project.

  2. Selecteer het type U-SQL Project.

    nieuw U-SQL Visual Studio-project

  3. Selecteer OK. Visual maakt een oplossing met een Script.usql-bestand.

  4. Voer het volgende script in het bestand Script.usql in:

    // 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;
    

    Zie Aan de slag met Data Lake Analytics U-SQL-taal voor meer informatie over U-SQL.

  5. Voeg een nieuw U-SQL-script toe aan uw project en voer het volgende in:

    // 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. Ga terug naar het eerste U-SQL-script en geef naast de knop Verzenden uw Analytics-account op.

  7. Selecteer in Solution Explorer met de rechtermuisknop Script.usql en selecteer vervolgens Build Script. Controleer de resultaten in het deelvenster Uitvoer.

  8. Selecteer in Solution Explorer met de rechtermuisknop Script.usql en selecteer vervolgens Script verzenden.

  9. Controleer of het Analytics-account het account is waar u de taak wilt uitvoeren en selecteer vervolgens Verzenden. Het resultaat van het verzenden en de koppeling naar de taak zijn beschikbaar in het resultaatvenster van Data Lake Tools voor Visual Studio wanneer het verzenden is voltooid.

  10. Wacht totdat de taak is voltooid. Als de taak is mislukt, ontbreekt waarschijnlijk het bronbestand. Zie de sectie Vereisten van deze zelfstudie. Zie Azure Data Lake Analytics-taken bewaken en problemen oplossen voor meer informatie over het oplossen van problemen.

    Wanneer de taak is voltooid, ziet u het volgende scherm:

    data lake analytics analyseert weblogs-websitelogboeken

  11. Herhaal nu stap 7-10 voor Script1.usql.

De taakuitvoer weergeven

  1. Vouw in Server ExplorerAzure uit, vouw Data Lake Analytics uit, vouw uw Data Lake Analytics-account uit, vouw Opslagaccounts uit, klik met de rechtermuisknop op het standaard Data Lake Storage-account en selecteer vervolgens Explorer.
  2. Dubbelklik op Voorbeelden om de map te openen en dubbelklik vervolgens op Uitvoer.
  3. Dubbelklik op UnsuccessfulResponses.log.
  4. U kunt ook dubbelklikken op het uitvoerbestand in de grafiekweergave van de taak om rechtstreeks naar de uitvoer te navigeren.

Volgende stappen

Om aan de slag te gaan met Data Lake Analytics met verschillende hulpprogramma's, zie: