Kurz: Načítání dat a spouštění dotazů v clusteru Apache Spark ve službě Azure HDInsight
V tomto kurzu se naučíte, jak vytvořit datový rámec ze souboru CSV a jak spouštět interaktivní dotazy Spark SQL s Apache Sparkm clusterem v Azure HDInsight. Ve Sparku je datový rámec distribuovaná kolekce dat uspořádaných do pojmenovaných sloupců. Datový rámec je koncepčním ekvivalentem tabulky v relační databázi nebo datového rámce v R nebo Pythonu.
V tomto kurzu se naučíte:
- Vytvoření datového rámce ze souboru CSV
- Spouštění dotazů nad datovým rámcem
Požadavky
Cluster Apache Spark ve službě HDInsight. Viz Vytvoření clusteru Apache Spark.
Vytvoříte poznámkový blok Jupyter Notebooks.
Jupyter Notebook je interaktivní prostředí poznámkového bloku, které podporuje různé programovací jazyky. Poznámkový blok umožňuje pracovat s daty, kombinovat kód s textem markdownu a provádět jednoduché vizualizace.
Upravte adresu URL
https://SPARKCLUSTER.azurehdinsight.net/jupytertak, že nahradíteSPARKCLUSTERnázev vašeho clusteru Spark. Pak zadejte upravenou adresu URL do webového prohlížeče. Po zobrazení výzvy zadejte přihlašovací údaje clusteru.Z webové stránky Jupyter vyberte Nový > PySpark a vytvořte Poznámkový blok.
Vytvoří se nový Poznámkový blok a otevře se s názvem bez názvu (
Untitled.ipynb).Poznámka
Díky použití jádra PySpark k vytvoření poznámkového bloku se relace
sparkvytvoří automaticky za vás při spuštění první buňky kódu. Není potřeba relaci vytvářet explicitně.
Vytvoření datového rámce ze souboru CSV
Aplikace mohou vytvářet datový rámec přímo ze souborů nebo složek na vzdáleném úložišti, jako je například Azure Storage nebo Azure Data Lake Storage; z tabulky podregistru; nebo z jiných zdrojů dat, které podporuje Spark, například Cosmos DB, Azure SQL DB, DW a tak dále. Následující snímek obrazovky ukazuje snímek souboru HVAC.csv použitého v tomto kurzu. Tento soubor CSV je součástí všech clusterů HDInsight Spark. Data zaznamenávají změny teploty několika budov.
Vložte následující kód do prázdné buňky Jupyter Notebook a stisknutím kláves SHIFT + ENTER kód spusťte. Kód naimportuje typy potřebné pro tento scénář:
from pyspark.sql import * from pyspark.sql.types import *Po spuštění interaktivního dotazu v Jupyter se název okna nebo karty webového prohlížeče zobrazí jako (Zaneprázdněn) společně s názvem poznámkového bloku. Zobrazí se také plný kroužek vedle textu PySpark v pravém horním rohu. Po dokončení úlohy se změní na prázdný kruh.
Všimněte si vráceného ID relace. Z obrázku výše je ID relace 0. V případě potřeby můžete načíst podrobnosti o relaci tak, že přejdete na
https://CLUSTERNAME.azurehdinsight.net/livy/sessions/ID/statementsmísto, kde název_clusteru je název vašeho clusteru Spark a ID je číslo ID vaší relace.Spuštěním následujícího kódu vytvořte datový rámec a dočasnou tabulku (hvac).
# Create a dataframe and table from sample data csvFile = spark.read.csv('/HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv', header=True, inferSchema=True) csvFile.write.saveAsTable("hvac")
Spouštění dotazů nad datovým rámcem
Po vytvoření tabulky můžete nad daty spustit interaktivní dotaz.
V prázdné buňce poznámkového bloku spusťte následující kód:
%%sql SELECT buildingID, (targettemp - actualtemp) AS temp_diff, date FROM hvac WHERE date = \"6/1/13\"Zobrazí se následující tabulkový výstup.
Výsledky můžete také zobrazit v dalších vizualizacích. Pokud chcete výstup zobrazit v podobě plošného grafu, vyberte Oblast a pak nastavte další hodnoty následujícím způsobem.
V řádku nabídek poznámkového bloku přejděte na soubor > Uložit a kontrolní bod.
Pokud právě začínáte s dalším kurzem, nechte poznámkový blok otevřený. Pokud ne, vypněte Poznámkový blok a uvolněte prostředky clusteru: z řádku nabídek Poznámkový blok přejděte na soubor > Zavřít a zastavte.
Vyčištění prostředků
Se službou HDInsight jsou vaše data a Jupyter poznámkové bloky uložené v Azure Storage nebo Azure Data Lake Storage, takže můžete cluster bezpečně odstranit, pokud se nepoužívá. Účtují se vám také poplatky za cluster HDInsight, a to i v případě, že se už nepoužívá. Vzhledem k tomu, že se poplatky za cluster mnohokrát účtují rychleji než poplatky za úložiště, má ekonomický smysl odstraňovat clustery, když se nepoužívají. Pokud se chystáte hned začít pracovat na dalším kurzu, měli byste cluster zachovat.
Otevřete cluster na webu Azure Portal a vyberte Odstranit.
Můžete také výběrem názvu skupiny prostředků otevřít stránku skupiny prostředků a pak vybrat Odstranit skupinu prostředků. Odstraněním skupiny prostředků odstraníte cluster HDInsight Spark i výchozí účet úložiště.
Další kroky
V tomto kurzu jste zjistili, jak vytvořit datový rámec ze souboru CSV a jak spouštět interaktivní dotazy Spark SQL s Apache Sparkm clusterem v Azure HDInsight. V dalším článku zjistíte, jak se data, která jste zaregistrovali v Apache Spark můžete načíst do nástroje BI Analytics, jako je například Power BI.