Začínáme se službou ML Services v Azure HDInsightGet started with ML Services on Azure HDInsight

Azure HDInsight umožňuje vytvořit cluster služby ML Services.Azure HDInsight enables you to create an ML Services cluster. Tato možnost umožňuje skripty R používat Apache Spark a Apache Hadoop MapReduce ke spouštění distribuovaných výpočtů.This option allows R scripts to use Apache Spark and Apache Hadoop MapReduce to run distributed computations. V tomto dokumentu se naučíte vytvořit cluster služby ML Services v HDInsight a následně spustit skript R, který ukazuje použití Sparku k distribuovaným výpočtům jazyka R.In this article, you learn how to create an ML Service cluster on HDInsight and how to run an R script that demonstrates using Spark for distributed R computations.

PožadavkyPrerequisites

  • Předplatné Azure: Než začnete tento kurz, musíte mít předplatné Azure.An Azure subscription: Before you begin this tutorial, you must have an Azure subscription. Další informace najdete v článku Získání bezplatné zkušební verze Microsoft Azure.For more information, see Get Microsoft Azure free trial.
  • Klient Secure Shell (SSH): Klient SSH slouží ke vzdálenému připojení ke clusteru HDInsight a spouštění příkazů přímo na clusteru.A Secure Shell (SSH) client: An SSH client is used to remotely connect to the HDInsight cluster and run commands directly on the cluster. Další informace najdete v tématu Použití SSH se službou HDInsight.For more information, see Use SSH with HDInsight.

Vytvoření clusteru pomocí webu Azure PortalCreate the cluster using the Azure portal

  1. Přihlaste se k webu Azure Portal.Sign in to the Azure portal.

  2. Přejděte do + vytvořit prostředek > Analytics > HDInsight.Navigate to + Create a resource > Analytics > HDInsight.

  3. V části Základy zadejte následující informace:From Basics, enter the following information:

    • Název clusteru: Název clusteru HDInsight.Cluster Name: The name of the HDInsight cluster.

    • Předplatné: Vyberte předplatné, které chcete použít.Subscription: Select the subscription to use.

    • Uživatelské jméno přihlášení clusteru a přihlašovací heslo clusteru: Přihlašovací údaje pro přístup ke clusteru přes protokol HTTPS.Cluster login username and Cluster login password: The login when accessing the cluster over HTTPS. Pomocí těchto přihlašovacích údajů pro přístup ke službám, jako jsou webové uživatelské rozhraní Apache Ambari nebo REST API.You use these credentials to access services such as the Apache Ambari Web UI or REST API.

    • Uživatelské jméno Secure Shell (SSH): Přihlašovací údaje používané pro přístup ke clusteru přes SSH.Secure Shell (SSH) username: The login used when accessing the cluster over SSH. Ve výchozím nastavení je heslo stejné jako pro přihlášení ke clusteru.By default the password is the same as the cluster login password.

    • Skupina prostředků: Skupina prostředků, ve které se cluster vytváří.Resource Group: The resource group to create the cluster in.

    • Umístění: Oblast Azure, ve které se cluster vytváří.Location: The Azure region to create the cluster in.

      Základní informace o clusteru

  4. Vyberte Typ clusteru a pak v části Konfigurace clusteru zadejte následující hodnoty:Select Cluster type, and then set the following values in the Cluster configuration section:

    • Typ clusteru: Služby MLCluster Type: ML Services

    • Operační systém: LinuxOperating system: Linux

    • Verze: Server ML 9.3 (HDI 3.6).Version: ML Server 9.3 (HDI 3.6). Zpráva k vydání verze pro ML Server 9.3 je dostupná na webu docs.microsoft.com.Release notes for ML Server 9.3 are available on docs.microsoft.com.

    • Komunitní verze Rstudia pro ML Server: Toto integrované vývojové prostředí založené na prohlížeči se instaluje standardně na hraničním uzlu.R Studio community edition for ML Server: This browser-based IDE is installed by default on the edge node. Pokud si jeho instalaci nepřejete, zrušte zaškrtnutí tohoto políčka.Clear the check box if you prefer to not have it installed. Pokud zvolíte jeho instalaci, adresu URL pro přístup k přihlašovací stránce RStudio Serveru najdete po vytvoření clusteru v okně aplikace portálu pro váš cluster.If you choose to have it installed, the URL for accessing the RStudio Server login is available on the portal application blade for your cluster once it’s been created.

      Základní informace o clusteru

  5. Po výběru typu clusteru použijte tlačítko Vybrat k výběru typu clusteru.After selecting the cluster type, use the Select button to set the cluster type. Dále stisknutím tlačítka Další dokončete základní konfiguraci.Next, use the Next button to finish basic configuration.

  6. V části Úložiště vyberte nebo vytvořte účet úložiště.From the Storage section, select or create a Storage account. Pro ukázkový postup v tomto dokumentu ponechte všechna ostatní pole v této části na výchozích hodnotách.For the steps in this document, leave the other fields in this section at the default values. Stisknutím tlačítka Další uložte konfiguraci úložiště.Use the Next button to save storage configuration.

    Nastavení účtu úložiště pro HDInsight

  7. V části Souhrn zkontrolujte konfiguraci clusteru.From the Summary section, review the configuration for the cluster. Pomocí odkazů Upravit opravte případná chybná nastavení.Use the Edit links to change any settings that are incorrect. Nakonec pomocí tlačítka Vytvořit cluster vytvořte.Finally, use the Create button to create the cluster.

    Nastavení účtu úložiště pro HDInsight

    Poznámka

    Vytvoření clusteru trvá přibližně 20 minut.It can take up to 20 minutes to create the cluster.

Připojení k RStudio ServeruConnect to RStudio Server

Pokud jste zvolili instalaci RStudio Serveru Community Edition jako součást svého clusteru HDInsight, přístup k přihlašovací stránce RStudia můžete získat jednou z následujících dvou metod:If you chose to install RStudio Server Community Edition as part of your HDInsight cluster, then you can access the RStudio login using one of the following two methods:

  • Možnost 1 – Přejděte na následující adresu URL (kde CLUSTERNAME je název clusteru služby ML Services, který jste vytvořili):Option 1 - Go to the following URL (where CLUSTERNAME is the name of the ML Services cluster you created):

      https://CLUSTERNAME.azurehdinsight.net/rstudio/
    
  • Možnost 2 -pomocí webu Azure portal.Option 2 - Use the Azure portal. Z portálu:From the portal:

    1. Vyberte všechny služby v levé nabídce.Select All services from the left menu.

    2. V části ANALYTICSvyberte clustery HDInsight.Under ANALYTICS, select HDInsight clusters.

    3. Vyberte název vašeho clusteru z clustery HDInsight stránky.Select your cluster name from the HDInsight clusters page.

    4. Z řídicích panelů služby MLvyberte R Studio server.From ML Services dashboards, select R Studio server.

      Nastavení účtu úložiště pro HDInsight

      Důležité

      Bez ohledu na použitou metodu bude při prvním přihlášení potřeba dvojí ověření.Regardless of the method used, the first time you log in you need to authenticate twice. Po zobrazení první výzvy k ověření zadejte ID uživatele a heslo správce clusteru.For the first authentication prompt, provide the cluster Admin userid and password. Po zobrazení druhé výzvy k ověření zadejte ID uživatele a heslo SSH.For the second authentication prompt, provide the SSH userid and password. Následující protokol – budete potřebovat jenom přihlašovací údaje SSH.Subsequent log-ins only require the SSH credentials.

Po připojení by vaše obrazovka měla vypadat podobně jako na následujícím snímku obrazovky:Once you are connected, your screen should resemble the following screenshot:

Připojení k RStudiu

Spuštění ukázkové úlohyRun a sample job

Můžete odeslat úlohu pomocí funkcí ScaleR.You can submit a job using ScaleR functions. Tady je příklad příkazů použitých ke spuštění úlohy:Here is an example of the commands used to run a job:

# Set the HDFS (WASB) location of example data.
bigDataDirRoot <- "/example/data"

# Create a local folder for storaging data temporarily.
source <- "/tmp/AirOnTimeCSV2012"
dir.create(source)

# Download data to the tmp folder.
remoteDir <- "https://packages.revolutionanalytics.com/datasets/AirOnTimeCSV2012"
download.file(file.path(remoteDir, "airOT201201.csv"), file.path(source, "airOT201201.csv"))
download.file(file.path(remoteDir, "airOT201202.csv"), file.path(source, "airOT201202.csv"))
download.file(file.path(remoteDir, "airOT201203.csv"), file.path(source, "airOT201203.csv"))
download.file(file.path(remoteDir, "airOT201204.csv"), file.path(source, "airOT201204.csv"))
download.file(file.path(remoteDir, "airOT201205.csv"), file.path(source, "airOT201205.csv"))
download.file(file.path(remoteDir, "airOT201206.csv"), file.path(source, "airOT201206.csv"))
download.file(file.path(remoteDir, "airOT201207.csv"), file.path(source, "airOT201207.csv"))
download.file(file.path(remoteDir, "airOT201208.csv"), file.path(source, "airOT201208.csv"))
download.file(file.path(remoteDir, "airOT201209.csv"), file.path(source, "airOT201209.csv"))
download.file(file.path(remoteDir, "airOT201210.csv"), file.path(source, "airOT201210.csv"))
download.file(file.path(remoteDir, "airOT201211.csv"), file.path(source, "airOT201211.csv"))
download.file(file.path(remoteDir, "airOT201212.csv"), file.path(source, "airOT201212.csv"))

# Set directory in bigDataDirRoot to load the data.
inputDir <- file.path(bigDataDirRoot,"AirOnTimeCSV2012")

# Create the directory.
rxHadoopMakeDir(inputDir)

# Copy the data from source to input.
rxHadoopCopyFromLocal(source, bigDataDirRoot)

# Define the HDFS (WASB) file system.
hdfsFS <- RxHdfsFileSystem()

# Create info list for the airline data.
airlineColInfo <- list(
DAY_OF_WEEK = list(type = "factor"),
ORIGIN = list(type = "factor"),
DEST = list(type = "factor"),
DEP_TIME = list(type = "integer"),
ARR_DEL15 = list(type = "logical"))

# Get all the column names.
varNames <- names(airlineColInfo)

# Define the text data source in HDFS.
airOnTimeData <- RxTextData(inputDir, colInfo = airlineColInfo, varsToKeep = varNames, fileSystem = hdfsFS)

# Define the text data source in local system.
airOnTimeDataLocal <- RxTextData(source, colInfo = airlineColInfo, varsToKeep = varNames)

# Specify the formula to use.
formula = "ARR_DEL15 ~ ORIGIN + DAY_OF_WEEK + DEP_TIME + DEST"

# Define the Spark compute context.
mySparkCluster <- RxSpark()

# Set the compute context.
rxSetComputeContext(mySparkCluster)

# Run a logistic regression.
system.time(
    modelSpark <- rxLogit(formula, data = airOnTimeData)
)

# Display a summary.
summary(modelSpark)

Připojení k hraničnímu uzlu clusteruConnect to the cluster edge node

V této části se dozvíte, jak se připojit k hraničnímu uzlu clusteru HDInsight se službou ML Services pomocí SSH.In this section, you learn how to connect to the edge node of an ML Services HDInsight cluster using SSH. Informace o použití SSH najdete v tématu Použití SSH se službou HDInsight.For familiarity on using SSH, see Use SSH with HDInsight.

Tady je příkaz SSH pro připojení k hraničnímu uzlu clusteru služby ML Services:The SSH command to connect to the ML Services cluster edge node is:

ssh USERNAME@CLUSTERNAME-ed-ssh.azurehdinsight.net

Příkaz SSH pro váš cluster zjistíte na webu Azure Portal tak, že kliknete na název clusteru, pak na SSH + přihlašovací údaje clusteru a jako Název hostitele vyberete hraniční uzel.To find the SSH command for your cluster, from the Azure portal click the cluster name, click SSH + Cluster login, and then for Hostname, select the edge node. Zobrazí se informace o koncovém bodu SSH pro hraniční uzel.This displays the SSH Endpoint information for the edge node.

Obrázek koncového bodu SSH pro hraniční uzel

Pokud jste použili heslo k zabezpečení uživatelského účtu SSH, zobrazí se výzva k jeho zadání.If you used a password to secure your SSH user account, you are prompted to enter it. Pokud jste použili veřejný klíč, bude pravděpodobně muset použít parametr -i k určení odpovídajícího privátního klíče.If you used a public key, you may have to use the -i parameter to specify the matching private key. Příklad:For example:

ssh -i ~/.ssh/id_rsa USERNAME@CLUSTERNAME-ed-ssh.azurehdinsight.net

Po připojení se dostanete na příkazový řádek, který bude vypadat nějak takto:Once connected, you get at a prompt similar to the following:

sshuser@ed00-myrclu:~$

Použití konzoly RUse the R console

  1. Z relace SSH pomocí následujícího příkazu spusťte konzolu R:From the SSH session, use the following command to start the R console:

     R
    
  2. Měl by se zobrazit výstup s verzí ML Serveru a dalšími informacemi.You should see an output with the version of ML Server, in addition to other information.

  3. Na příkazovém řádku > můžete zadat kód R.From the > prompt, you can enter R code. Služba ML Services v HDInsight obsahuje balíčky umožňující snadnou interakci se systémem Hadoop a spouštění distribuovaných výpočtů.ML Services on HDInsight includes packages that allow you to easily interact with Hadoop and run distributed computations. Například pomocí následujícího příkazu zobrazíte kořen výchozího systému souborů pro cluster HDInsight:For example, use the following command to view the root of the default file system for the HDInsight cluster:

     rxHadoopListFiles("/")
    
  4. Můžete také použít adresování ve stylu WASB.You can also use the WASB style addressing.

     rxHadoopListFiles("wasb:///")
    
  5. Pokud chcete konzolu R zavřít, použijte následující příkaz:To quit the R console, use the following command:

     quit()
    

Automatizované vytváření clusterůAutomated cluster creation

Vytváření clusteru služby ML Services pro HDInsight můžete automatizovat pomocí sady SDK nebo PowerShellu.You can automate the creation of ML Services cluster for HDInsight by using the SDK and the PowerShell.

Odstranění clusteruDelete the cluster

Varování

Za clustery HDInsight se fakturuje za minutu, ať už používáte je nebo není.Billing for HDInsight clusters is prorated per minute, whether you use them or not. Nezapomeňte odstranit cluster po dokončení jeho použití.Be sure to delete your cluster after you finish using it. Zobrazit odstranění clusteru služby HDInsight.See how to delete an HDInsight cluster.

Řešení potížíTroubleshoot

Pokud narazíte na problémy s vytvářením clusterů HDInsight, podívejte se na požadavky na řízení přístupu.If you run into issues with creating HDInsight clusters, see access control requirements.

Další postupNext steps

V tomto článku jste zjistili, jak vytvořit nový cluster služby ML v Azure HDInsight a rozumět základům používání konzoly R z relace SSH.In this article, you learned how to create a new ML Services cluster in Azure HDInsight and the basics of using the R console from an SSH session. Následující články popisují další způsoby správy a práce se službou ML Services v HDInsight:The following articles explain other ways of managing and working with ML Services on HDInsight: