Rychlý Start: Vytvoření clusteru Apache Spark ve službě Azure HDInsight pomocí šablony Správce prostředkůQuickstart: Create Apache Spark cluster in Azure HDInsight using Resource Manager template

Naučte se, jak vytvořit cluster Apache Spark v Azure HDInsight a jak spouštět dotazy Spark SQL pro Apache Hive tabulky.Learn how to create an Apache Spark cluster in Azure HDInsight, and how to run Spark SQL queries against Apache Hive tables. Apache Spark umožňuje rychlou analýzu dat a clusterové výpočty s využitím zpracování v paměti.Apache Spark enables fast data analytics and cluster computing using in-memory processing. Informace o Apache Spark ve službě HDInsight najdete v tématu Přehled: Apache Spark v Azure HDInsight.For information on Spark on HDInsight, see Overview: Apache Spark on Azure HDInsight.

V tomto rychlém startu pomocí šablony Resource Manageru vytvoříte cluster HDInsight Spark.In this quickstart, you use a Resource Manager template to create an HDInsight Spark cluster. Podobné šablony můžete zobrazit v šablonách rychlý Start pro Azure.Similar templates can be viewed at Azure quickstart templates. Odkaz na šablonu najdete tady.The template reference can be found here.

Cluster jako úložiště využívá Azure Storage Blob.The cluster uses Azure Storage Blobs as the cluster storage. Další informace o použití Data Lake Storage Gen2 najdete v tématu Rychlý start: Nastavení clusterů ve službě HDInsight.For more information on using Data Lake Storage Gen2, see Quickstart: Set up clusters in HDInsight.

Důležité

Clustery HDInsight se fakturují za minutu bez ohledu na to, jestli je používáte, nebo ne.Billing for HDInsight clusters is prorated per minute, whether you are using them or not. Až přestanete cluster používat, nezapomeňte ho odstranit.Be sure to delete your cluster after you have finished using it. Další informace najdete v části Vyčištění prostředků tohoto článku.For more information, see the Clean up resources section of this article.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.If you don't have an Azure subscription, create a free account before you begin.

Vytvoření clusteru HDInsight SparkCreate an HDInsight Spark cluster

Vytvořte cluster HDInsight Spark pomocí šablony Azure Resource Manageru.Create an HDInsight Spark cluster using an Azure Resource Manager template. Šablonu najdete na GitHubu.The template can be found in GitHub. Syntaxi a vlastnosti clusteru JSON najdete v tématu Microsoft. HDInsight/clustery.For the JSON syntax and properties of the cluster, see Microsoft.HDInsight/clusters.

  1. Výběrem následujícího odkazu otevřete šablonu na webu Azure Portal na nové kartě prohlížeče:Select the following link to open the template in the Azure portal in a new browser tab:

    Nasazení do AzureDeploy to Azure

  2. Zadejte následující hodnoty:Enter the following values:

    VlastnostProperty HodnotaValue
    PředplatnéSubscription Vyberte předplatné Azure použité k vytvoření tohoto clusteru.Select your Azure subscription used for creating this cluster. V tomto rychlém startu se používá předplatné <název předplatného Azure> .The subscription used for this quickstart is <Azure subscription name>.
    Skupina prostředkůResource group Vytvořte skupinu prostředků nebo vyberte existující.Create a resource group or select an existing one. Skupina prostředků slouží ke správě prostředků Azure pro vaše projekty.Resource group is used to manage Azure resources for your projects. V tomto rychlém startu se používá název nové skupiny prostředků myspark20180403rg.The new resource group name used for this quickstart is myspark20180403rg.
    UmístěníLocation Vyberte umístění skupiny prostředků.Select a location for the resource group. Šablona toto umístění používá k vytvoření clusteru i jako výchozí úložiště clusteru.The template uses this location for creating the cluster as well as for the default cluster storage. V tomto rychlém startu se používá umístění USA – východ 2.The location used for this quickstart is East US 2.
    Název clusteruClusterName Zadejte název clusteru HDInsight, který chcete vytvořit.Enter a name for the HDInsight cluster that you want to create. V tomto rychlém startu se používá název nového clusteru myspark20180403.The new cluster name used for this quickstart is myspark20180403.
    Přihlašovací jméno a heslo clusteruCluster login name and password Výchozí přihlašovací jméno je admin. Vyberte heslo pro přihlášení clusteru.The default login name is admin. Choose a password for the cluster login. V tomto rychlém startu se používá přihlašovací jméno admin.The login name used for this quickstart is admin.
    Uživatelské jméno a heslo SSHSSH user name and password Zvolte heslo pro uživatele SSH.Choose a password for the SSH user. V tomto rychlém startu se používá uživatelské jméno SSH sshuser.The SSH user name used for this quickstart is sshuser.

    Vytvoření clusteru HDInsight Spark pomocí šablony Azure Resource ManagerCreate HDInsight Spark cluster using Azure Resource Manager template

  3. Vyberte Souhlasím s podmínkami a ujednáními uvedenými nahoře, vyberte Připnout na řídicí panel a pak vyberte Koupit.Select I agree to the terms and conditions stated above, select Pin to dashboard, and then select Purchase. Zobrazí se nová dlaždice s názvem Nasazení šablony.You can see a new tile titled Deploying Template deployment. Vytvoření clusteru trvá přibližně 20 minut.It takes about 20 minutes to create the cluster. Než budete moct pokračovat k další relaci, musí se cluster nejdříve vytvořit.The cluster must be created before you can proceed to the next session.

Pokud narazíte na problém s vytvářením clusterů HDInsight, může to být způsobeno tím, že k tomu nemáte správná oprávnění.If you run into an issue with creating HDInsight clusters, it could be that you do not have the right permissions to do so. Další informace najdete v tématu popisujícím požadavky na řízení přístupu.For more information, see Access control requirements.

Instalace IntelliJ/Eclipse pro aplikaci SparkInstall IntelliJ/Eclipse for Spark application

Použijte modul plug-in Azure Toolkit for IntelliJ/zatmění k vývoji aplikací Spark napsaných v Scalaa pak je odešlete do clusteru Azure HDInsight Spark přímo z integrovaného vývojového prostředí (IDE) IntelliJ/zatmění.Use the Azure Toolkit for IntelliJ/Eclipse plug-in to develop Spark applications written in Scala, and then submit them to an Azure HDInsight Spark cluster directly from the IntelliJ/Eclipse integrated development environment (IDE). Další informace najdete v článcích o použití IntelliJ k vytvoření/odeslání aplikace Spark a o použití Eclipse k vytvoření/odeslání aplikace Spark.For more information, see Use IntelliJ to author/submit Spark application and Use Eclipse to author/submit Spark application.

Instalace nástroje VSCode pro aplikace PySpark/HiveInstall VSCode for PySpark/hive applications

Naučte se používat sadu nástrojů Azure HDInsight Tools for Visual Studio Code (VSCode) k vytvoření a odeslání dávkových úloh Hive, interaktivních dotazů Hive, dávky PySpark a interaktivních skriptů PySpark.Learn how to use the Azure HDInsight Tools for Visual Studio Code (VSCode) to create and submit Hive batch jobs, interactive Hive queries, PySpark batch, and PySpark interactive scripts. Nástroje Azure HDInsight Tools můžete nainstalovat na platformách, které podporuje nástroj VSCode.The Azure HDInsight Tools can be installed on the platforms that are supported by VSCode. Patří sem Windows, Linux a macOS.These include Windows, Linux, and macOS. Další informace najdete v článku o použití nástroje VSCode k vytvoření/odeslání aplikace PySpark.For more information, see Use VSCode to author/submit PySpark application.

Vytvoření poznámkového bloku JupyterCreate a Jupyter notebook

Jupyter notebook je interaktivní prostředí poznámkového bloku, které podporuje různé programovací jazyky.Jupyter Notebook is an interactive notebook environment that supports various programming languages. Poznámkový blok umožňuje pracovat s daty, kombinovat kód s textem markdownu a provádět jednoduché vizualizace.The notebook allows you to interact with your data, combine code with markdown text and perform simple visualizations.

  1. Otevřete web Azure Portal.Open the Azure portal.

  2. Vyberte Clustery HDInsight a pak vyberte cluster, který jste vytvořili.Select HDInsight clusters, and then select the cluster you created.

    otevření clusteru HDInsight na webu Azure Portal

  3. Na portálu v části Řídicí panely clusteru klikněte na Poznámkový blok Jupyter.From the portal, in Cluster dashboards section, click on Jupyter Notebook. Po zobrazení výzvy zadejte přihlašovací údaje clusteru.If prompted, enter the cluster login credentials for the cluster.

    Otevřete Jupyter Notebook pro spuštění interaktivního dotazu Spark SQLOpen Jupyter Notebook to run interactive Spark SQL query

  4. Vyberte Nový > PySpark a vytvořte poznámkový blok.Select New > PySpark to create a notebook.

    Vytvoření Jupyter Notebook pro spuštění interaktivního dotazu Spark SQLCreate a Jupyter Notebook to run interactive Spark SQL query

    Nový poznámkový blok se vytvoří a otevře s názvem Bez názvu (Bez názvu.pynb).A new notebook is created and opened with the name Untitled(Untitled.pynb).

Spouštění příkazů Spark SQLRun Spark SQL statements

Jazyk SQL (Structured Query Language) je nejběžnějším a široce používaným jazykem pro dotazování a transformaci dat.SQL (Structured Query Language) is the most common and widely used language for querying and transforming data. Spark SQL funguje jako rozšíření Apache Spark pro zpracování strukturovaných dat a používá známou syntaxi jazyka SQL.Spark SQL functions as an extension to Apache Spark for processing structured data, using the familiar SQL syntax.

  1. Ověřte, že je jádro připravené.Verify the kernel is ready. Jádro bude připravené, až se vedle názvu jádra v poznámkovém bloku zobrazí prázdný kroužek.The kernel is ready when you see a hollow circle next to the kernel name in the notebook. Plný kruh označuje, že je jádro zaneprázdněno.Solid circle denotes that the kernel is busy.

    stav jádrakernel status

    Při prvním spuštění poznámkového bloku jádro provede některé úlohy na pozadí.When you start the notebook for the first time, the kernel performs some tasks in the background. Počkejte, až bude jádro připravené.Wait for the kernel to be ready.

  2. Do prázdné buňky vložte následující kód a stisknutím SHIFT + ENTER kód spusťte.Paste the following code in an empty cell, and then press SHIFT + ENTER to run the code. Příkaz vypíše tabulky Hive v clusteru:The command lists the Hive tables on the cluster:

    %%sql
    SHOW TABLES
    

    Pokud používáte poznámkový blok Jupyter s clusterem HDInsight Spark, získáte přednastavenou relaci spark, kterou můžete použít ke spouštění dotazů Hive pomocí Spark SQL.When you use a Jupyter Notebook with your HDInsight Spark cluster, you get a preset spark session that you can use to run Hive queries using Spark SQL. %%sql říká poznámkovému bloku Jupyter, aby ke spuštění dotazu Hive použil přednastavenou relaci spark.%%sql tells Jupyter Notebook to use the preset spark session to run the Hive query. Dotaz načte prvních 10 řádků z tabulky Hive (hivesampletable), která je ve výchozím nastavení k dispozici na všech clusterech HDInsight.The query retrieves the top 10 rows from a Hive table (hivesampletable) that comes with all HDInsight clusters by default. Při prvním odeslání dotazu vytvoří Jupyter pro poznámkový blok aplikaci Spark.The first time you submit the query Jupyter will create Spark Application for the notebook. Dokončení trvá přibližně 30 sekund.It takes about 30 seconds to complete. Jakmile bude aplikace Spark připravená, přibližně během jedné sekundy se dotaz provede a vygeneruje výsledky.Once the spark application is ready the query is executed in about a second and produces the results. Výstup bude vypadat následovně:The output looks like:

    Apache Hive dotazování v HDInsight SparkApache Hive query in HDInsight Spark

    Při každém spuštění dotazu v Jupyter se v názvu okna webového prohlížeče zobrazí stav (Busy) (Zaneprázdněn) společně s názvem poznámkového bloku.Every time you run a query in Jupyter, your web browser window title shows a (Busy) status along with the notebook title. Zobrazí se také plný kroužek vedle textu PySpark v pravém horním rohu.You also see a solid circle next to the PySpark text in the top-right corner.

  3. Spuštěním dalšího dotazu zobrazíte data v tabulce hivesampletable.Run another query to see the data in hivesampletable.

    %%sql
    SELECT * FROM hivesampletable LIMIT 10
    

    Obrazovka by se měla aktualizovat a zobrazit výstup dotazu.The screen shall refresh to show the query output.

    Výstup dotazů na podregistr v HDInsight SparkHive query output in HDInsight Spark

  4. V nabídce Soubor poznámkového bloku vyberte Zavřít a zastavit.From the File menu on the notebook, select Close and Halt. Vypnutím poznámkového bloku se uvolní prostředky clusteru včetně aplikace Spark.Shutting down the notebook releases the cluster resources, including Spark Application.

Vyčištění prostředkůClean up resources

HDInsight ukládá vaše data a poznámkové bloky Jupyter ve službě Azure Storage nebo Azure Data Lake Store, takže můžete cluster bezpečně odstranit, když se nepoužívá.HDInsight saves your data and Jupyter notebooks in Azure Storage or Azure Data Lake Store, so you can safely delete a cluster when it is not in use. Za cluster služby HDInsight se účtují poplatky, i když se nepoužívá.You are also charged for an HDInsight cluster, even when it is not in use. Vzhledem k tomu, že poplatky za cluster představují několikanásobek poplatků za úložiště, dává ekonomický smysl odstraňovat clustery, které nejsou používány.Since the charges for the cluster are many times more than the charges for storage, it makes economic sense to delete clusters when they are not in use. Pokud se chystáte hned začít pracovat na kurzu uvedeném v části Další kroky, měli byste cluster zachovat.If you plan to work on the tutorial listed in Next steps immediately, you might want to keep the cluster.

Přepněte zpět na web Azure Portal a vyberte Odstranit.Switch back to the Azure portal, and select Delete.

Azure Portal odstranit cluster HDInsightAzure portal delete an HDInsight cluster

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ů.You can also select the resource group name to open the resource group page, and then select Delete resource group. Odstraněním skupiny prostředků odstraníte cluster HDInsight Spark i výchozí účet úložiště.By deleting the resource group, you delete both the HDInsight Spark cluster, and the default storage account.

Další krokyNext steps

V tomto rychlém startu jste zjistili, jak vytvořit cluster HDInsight Spark a spustit základní dotaz Spark SQL.In this quickstart, you learned how to create an HDInsight Spark cluster and run a basic Spark SQL query. V dalším kurzu se dozvíte, jak pomocí clusteru HDInsight Spark spouštět interaktivní dotazy na ukázková data.Advance to the next tutorial to learn how to use an HDInsight Spark cluster to run interactive queries on sample data.