Cvičení – napsání transformačního dotazu Azure Stream Analytics

Dokončeno

Dotaz Azure Stream Analytics transformuje vstupní stream a vytvoří výstup. Dotazy se píšou v jazyce podobajícím se jazyku SQL, který je podmnožinou jazyka Transact-SQL (T-SQL).

V tomto cvičení budeme jednoduchým způsobem transformovat vstupní data, abychom předvedli možnosti transformačních dotazů v Stream Analytics.

Poznámka:

Toto cvičení není povinné. Pokud nemáte účet Azure nebo nechcete toto cvičení ve svém účtu provádět, alespoň si pokyny pročtěte, abyste postup nastavení vstupního souboru a změny transformačního dotazu v úloze Stream Analytics pochopili.

Představte si, že potřebujete z dat sčítání lidu získat určité prvky. V tomto případě chcete získat souřadnice každého města z dat sčítání lidu. Jako vstup použijete soubor JSON. Spustíte transformační dotaz pro získání souřadnic z dat a výsledky pak zapíšete do nového souboru v Blob Storage.

Vytvoření ukázkového vstupního souboru

Začněte vytvořením vstupního souboru s názvem input.json na místním počítači. Soubor má tento obsah.

{
    "City" : "Reykjavik",
    "Coordinates" :
    {
        "Latitude": 64,
        "Longitude": 21
    },
    "Census" :
    {
        "Population" : 125000,
        "Municipality" : "Reykjavík",
        "Region" : "Höfuðborgarsvæðið"
    }
}

Nahrání vstupního souboru

Teď soubor JSON nahrajete do kontejneru úložiště objektů blob.

  1. Otevřete Azure Portal.

  2. Přejděte ke zdrojovému účtu blob storage streamsrc.

    Tip

    K vyhledání prostředků podle názvu použijte vyhledávací pole v horní části webu Azure Portal. K vyhledání souvisejících prostředků použijte skupinu prostředků.

  3. Vyberte účet úložiště streamsrc, který jste vytvořili dříve.

  4. V části Úložiště dat vyberte Kontejnery.

    Screenshot that shows how to set up an input Blob container.

  5. Vyberte kontejner learn-container, který jste vytvořili. Měl by být prázdný.

  6. Vyberte Odeslat. Zobrazí se panel Nahrát objekt blob . Vedle položky Soubory vyberte ikonu složky a pak vyberte soubor JSON.

  7. Rozbalte Rozšířené možnosti, pokud ještě nejsou rozbalené.

  8. Do pole Nahrát do složky zadejte input/[RRRR-MM-DD]. RRRR-MM-DD je aktuální datum a je potřeba ho zadat pomocí formátu dat, který jste si poznamenali v cvičení Konfigurace vstupu úlohy Azure Stream Analytics.

  9. V ostatních polích nechejte výchozí hodnoty.

  10. Vyberte Odeslat.

    Screenshot that shows how to upload the JSON file.

Po nahrání souboru by se měla v kontejneru zobrazit složka input. Když ji vyberete, můžete prozkoumat hierarchii objektů blob a zobrazit data.

Nastavení výstupního kontejneru úložiště objektů blob

Teď nastavíme cíl pro transformovaná data:

  1. Přejděte ke streamsinku cílového účtu úložiště objektů blob.

  2. Na stránce s přehledem vyberte Prohlížeč úložiště.

    Screenshot that shows the Storage browser in Azure portal.

  3. Vpravo přejděte do kontejnerů objektů blob.

  4. Vyberte kontejner, který jste vytvořili.

  5. V nabídce nad podrobnostmi o kontejneru vyberte Přidat adresář. Zobrazí se podokno Přidat virtuální adresář .

  6. Jako Název složky zadejte output a potom vyberte OK. Tady vytváříte zástupný objekt. Azure složku nezobrazí, dokud do ní nepřidáte nějaký soubor.

Zápis transformačního dotazu

Teď můžete napsat transformační dotaz. Chcete získat souřadnice ze vstupních dat a zapsat je do výstupu. Použijete k tomu příkaz SELECT. Možnosti dotazu najdete online nebo pomocí odkazu ve shrnutí tohoto modulu.

  1. Pomocí vyhledávacího pole na webu Azure Portal vyhledejte úlohu Stream Analytics SimpleTransfomer.

  2. V části Topologie úlohy vyberte Dotaz.

  3. V podokně Dotaz přidejte tento dotaz:

    SELECT City,
        Coordinates.Latitude,
        Coordinates.Longitude
    INTO streamoutput
    FROM streaminput
    

    Screenshot that shows how to write and save a query.

  4. Vyberte Uložit dotaz.

Testování dotazu

Před spuštěním úlohy je vhodné dotaz otestovat, jestli funguje správně. Přejděte na webu Azure Portal k vaší úloze Stream Analytics. V části Topologie úlohy vyberte dotaz Test dotazu>. Výsledky testu se zobrazí pod dotazem.