Erste Schritte mit ML Services in Azure HDInsightGet started with ML Services on Azure HDInsight

Azure HDInsight ermöglicht die Erstellung eines ML Services-Clusters.Azure HDInsight enables you to create an ML Services cluster. Mit dieser Option können R-Skripts Apache Spark und Apache Hadoop MapReduce verwenden, um verteilte Berechnungen auszuführen.This option allows R scripts to use Apache Spark and Apache Hadoop MapReduce to run distributed computations. In diesem Artikel erfahren Sie, wie Sie in HDInsight einen ML Services-Cluster erstellen und ein R-Skript ausführen, das die Verwendung von Spark für verteilte R-Berechnungen veranschaulicht.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.

VoraussetzungenPrerequisites

  • Ein Azure-Abonnement: Für dieses Tutorial wird ein Azure-Abonnement benötigt.An Azure subscription: Before you begin this tutorial, you must have an Azure subscription. Weitere Informationen finden Sie unter Get Microsoft Azure free trial (Beziehen der kostenlosen Testversion von Microsoft Azure).For more information, see Get Microsoft Azure free trial.
  • Ein SSH-Client (Secure Shell): Ein SSH-Client wird verwendet, um Remoteverbindungen mit dem HDInsight-Cluster herzustellen und Befehle direkt im Cluster auszuführen.A Secure Shell (SSH) client: An SSH client is used to remotely connect to the HDInsight cluster and run commands directly on the cluster. Weitere Informationen finden Sie unter Verwenden von SSH mit Linux-basiertem Hadoop in HDInsight unter Linux, Unix oder OS X.For more information, see Use SSH with HDInsight.

Erstellen des Clusters mit dem Azure-PortalCreate the cluster using the Azure portal

  1. Melden Sie sich beim Azure-Portal an.Sign in to the Azure portal.

  2. Navigieren Sie zu + Ressource erstellen > Analytics > HDInsight.Navigate to + Create a resource > Analytics > HDInsight.

  3. Geben Sie unter Grundlagen Folgendes ein:From Basics, enter the following information:

    • Clustername: Der Name des HDInsight-Clusters.Cluster Name: The name of the HDInsight cluster.

    • Abonnement: Wählen Sie das zu verwendende Abonnement aus.Subscription: Select the subscription to use.

    • Benutzername für Clusteranmeldung und Kennwort für Clusteranmeldung: Die für den Clusterzugriff über HTTPS verwendete Anmeldung.Cluster login username and Cluster login password: The login when accessing the cluster over HTTPS. Sie verwenden diese Anmeldeinformationen für den Zugriff auf Dienste wie die Apache Ambari-Webbenutzeroberfläche oder die REST-API.You use these credentials to access services such as the Apache Ambari Web UI or REST API.

    • SSH-Benutzername (Secure Shell): Die für den Clusterzugriff über SSH verwendete Anmeldung.Secure Shell (SSH) username: The login used when accessing the cluster over SSH. Das Kennwort ist standardmäßig mit dem Kennwort für die Clusteranmeldung identisch.By default the password is the same as the cluster login password.

    • Ressourcengruppe: Die Ressourcengruppe, in der der Cluster erstellt wird.Resource Group: The resource group to create the cluster in.

    • Standort: Die Azure-Region, in der der Cluster erstellt werden soll.Location: The Azure region to create the cluster in.

      Grundlegende Details zu Clustern

  4. Wählen Sie Clustertyp aus, und legen Sie dann im Abschnitt Clusterkonfiguration die folgenden Werte fest:Select Cluster type, and then set the following values in the Cluster configuration section:

    • Clustertyp: ML ServicesCluster Type: ML Services

    • Betriebssystem: LinuxOperating system: Linux

    • Version: ML Server 9.3 (HDI 3.6).Version: ML Server 9.3 (HDI 3.6). Versionsanmerkungen für ML Server 9.3 finden Sie unter docs.microsoft.com.Release notes for ML Server 9.3 are available on docs.microsoft.com.

    • RStudio Community Edition für ML Server: Diese browserbasierte IDE wird standardmäßig auf dem Edgeknoten installiert.R Studio community edition for ML Server: This browser-based IDE is installed by default on the edge node. Deaktivieren Sie das Kontrollkästchen, falls Sie die Installation nicht wünschen.Clear the check box if you prefer to not have it installed. Wenn Sie eine Installation durchführen, ist die URL für den Zugriff auf die RStudio Server-Anmeldung auf einem Blatt der Portalanwendung für Ihren Cluster verfügbar, nachdem dieser erstellt wurde.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.

      Grundlegende Details zu Clustern

  5. Legen Sie nach dem Auswählen des Clustertyps mit der Schaltfläche Auswählen den Clustertyp fest.After selecting the cluster type, use the Select button to set the cluster type. Schließen Sie dann mit der Schaltfläche Weiter die grundlegende Konfiguration ab.Next, use the Next button to finish basic configuration.

  6. Wählen Sie im Abschnitt Speicher ein Speicherkonto aus, oder erstellen Sie eines.From the Storage section, select or create a Storage account. Behalten Sie für die Schritte in diesem Dokument für die weiteren Felder in diesem Abschnitt die Standardwerte bei.For the steps in this document, leave the other fields in this section at the default values. Speichern Sie mit der Schaltfläche Weiter die Speicherkonfiguration.Use the Next button to save storage configuration.

    Festlegen der Speicherkontoeinstellungen für HDInsight

  7. Überprüfen Sie im Abschnitt Zusammenfassung die Konfiguration für den Cluster.From the Summary section, review the configuration for the cluster. Ändern Sie ggf. falsche Einstellungen mithilfe der Link zum Bearbeiten.Use the Edit links to change any settings that are incorrect. Verwenden Sie abschließend die Schaltfläche__Erstellen__, um den Cluster zu erstellen.Finally, use the Create button to create the cluster.

    Festlegen der Speicherkontoeinstellungen für HDInsight

    Hinweis

    Das Erstellen des Clusters kann bis zu 20 Minuten dauern.It can take up to 20 minutes to create the cluster.

Herstellen einer Verbindung mit RStudio ServerConnect to RStudio Server

Sie können mit einer der beiden folgenden Methoden auf die RStudio-Anmeldung zugreifen, wenn Sie sich dafür entschieden haben, die RStudio Server Community Edition als Teil Ihres HDInsight-Clusters zu installieren: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:

  • Option 1: Navigieren Sie zur folgenden URL (wobei CLUSTERNAME der Name des von Ihnen erstellten ML Services-Clusters ist):Option 1 - Go to the following URL (where CLUSTERNAME is the name of the ML Services cluster you created):

      https://CLUSTERNAME.azurehdinsight.net/rstudio/
    
  • Option 2: Verwenden des Azure-Portals.Option 2 - Use the Azure portal. Im Portal:From the portal:

    1. Wählen Sie im Menü links Alle Dienste aus.Select All services from the left menu.

    2. Wählen Sie unter ANALYTICS die Option HDInsight-Cluster aus.Under ANALYTICS, select HDInsight clusters.

    3. Wählen Sie auf der Seite HDInsight-Cluster den Namen Ihres Clusters aus.Select your cluster name from the HDInsight clusters page.

    4. Wählen Sie unter ML Services-Dashboards die Option R Studio-Server aus.From ML Services dashboards, select R Studio server.

      Festlegen der Speicherkontoeinstellungen für HDInsight

      Wichtig

      Unabhängig von der verwendeten Zugriffsmethode müssen Sie sich bei der ersten Anmeldung zweimal authentifizieren.Regardless of the method used, the first time you log in you need to authenticate twice. Geben Sie für die erste Authentifizierungseingabeaufforderung die Benutzer-ID und das Kennwort für den Clusteradministrator an.For the first authentication prompt, provide the cluster Admin userid and password. Geben Sie für die zweite Authentifizierungseingabeaufforderung die Benutzer-ID und das Kennwort für SSH an.For the second authentication prompt, provide the SSH userid and password. Für nachfolgende Anmeldungen sind dann nur noch die SSH-Anmeldeinformationen erforderlich.Subsequent log-ins only require the SSH credentials.

Nachdem die Verbindung hergestellt wurde, sollte die Anzeige in etwa wie im folgenden Screenshot aussehen:Once you are connected, your screen should resemble the following screenshot:

Herstellen einer Verbindung mit RStudio

Ausführen eines BeispielauftragsRun a sample job

Sie können einen Auftrag mithilfe von ScaleR-Funktionen senden.You can submit a job using ScaleR functions. Hier sehen Sie ein Beispiel für die zum Ausführen eines Auftrags verwendeten Befehle: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)

Herstellen einer Verbindung mit dem Edgeknoten des ClustersConnect to the cluster edge node

In diesem Abschnitt erfahren Sie, wie Sie mit SSH eine Verbindung mit dem Edgeknoten eines ML Services-HDInsight-Clusters herstellen.In this section, you learn how to connect to the edge node of an ML Services HDInsight cluster using SSH. Sie können sich unter Verwenden von SSH mit HDInsight mit der Verwendung von SSH vertraut machen.For familiarity on using SSH, see Use SSH with HDInsight.

Der SSH-Befehl zum Herstellen einer Verbindung mit dem Edgeknoten des ML Services-Clusters lautet:The SSH command to connect to the ML Services cluster edge node is:

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

Gehen Sie wie folgt vor, um den SSH-Befehl für Ihren Cluster zu ermitteln: Klicken Sie im Azure-Portal auf den Clusternamen und auf SSH + Clusteranmeldung, und wählen Sie unter Hostname dann den Edgeknoten aus.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. Dadurch werden die SSH-Endpunktinformationen für den Edgeknoten angezeigt.This displays the SSH Endpoint information for the edge node.

Bild des SSH-Endpunkts für den Edgeknoten

Wenn Sie zum Schutz Ihres SSH-Benutzerkontos ein Kennwort verwendet haben, werden Sie zur Eingabe dieses Kennworts aufgefordert.If you used a password to secure your SSH user account, you are prompted to enter it. Wenn Sie einen öffentlichen Schlüssel verwendet haben, müssen Sie möglicherweise den Parameter -i verwenden, um den passenden privaten Schlüssel anzugeben.If you used a public key, you may have to use the -i parameter to specify the matching private key. Beispiel:For example:

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

Nachdem die Verbindung hergestellt wurde, wird in etwa folgende Eingabeaufforderung angezeigt:Once connected, you get at a prompt similar to the following:

sshuser@ed00-myrclu:~$

Verwenden der R-KonsoleUse the R console

  1. Verwenden Sie in der SSH-Sitzung den folgenden Befehl, um die R-Konsole zu starten:From the SSH session, use the following command to start the R console:

     R
    
  2. Neben anderen Informationen sollte eine Ausgabe mit der Version von ML Server angezeigt werden.You should see an output with the version of ML Server, in addition to other information.

  3. An der > -Eingabeaufforderung können Sie R-Code eingeben.From the > prompt, you can enter R code. ML Services in HDInsight enthält Pakete, mit denen Sie auf einfache Weise mit Hadoop interagieren und verteilte Berechnungen ausführen können.ML Services on HDInsight includes packages that allow you to easily interact with Hadoop and run distributed computations. Verwenden Sie beispielsweise den folgenden Befehl, um das Stammverzeichnis des Standarddateisystems für den HDInsight-Cluster anzuzeigen:For example, use the following command to view the root of the default file system for the HDInsight cluster:

     rxHadoopListFiles("/")
    
  4. Sie können auch eine Adressierung mit der WASB-Syntax verwenden.You can also use the WASB style addressing.

     rxHadoopListFiles("wasb:///")
    
  5. Verwenden Sie den folgenden Befehl, um die R-Konsole zu beenden:To quit the R console, use the following command:

     quit()
    

Automatisierte ClustererstellungAutomated cluster creation

Sie können die Erstellung des ML Services-Clusters für HDInsight über das SDK und über PowerShell automatisieren.You can automate the creation of ML Services cluster for HDInsight by using the SDK and the PowerShell.

Löschen des ClustersDelete the cluster

Warnung

Die Abrechnung für die HDInsight-Cluster erfolgt anteilsmäßig auf Minutenbasis und ist unabhängig von der Verwendung.Billing for HDInsight clusters is prorated per minute, whether you use them or not. Daher sollten Sie Ihren Cluster nach der Verwendung unbedingt wieder löschen.Be sure to delete your cluster after you finish using it. Sehen Sie sich die Informationen zum Löschen eines HDInsight-Clusters an.See how to delete an HDInsight cluster.

ProblembehandlungTroubleshoot

Falls beim Erstellen von HDInsight-Clustern Probleme auftreten, sehen Sie sich die Voraussetzungen für die Zugriffssteuerung an.If you run into issues with creating HDInsight clusters, see access control requirements.

Nächste SchritteNext steps

In diesem Artikel haben Sie erfahren, wie Sie einen neuen ML Services-Cluster in Azure HDInsight erstellen, und sich mit den Grundlagen für die Verwendung der R-Konsole über eine SSH-Sitzung vertraut gemacht.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. In den folgenden Artikeln werden weitere Verwaltungs- und Verwendungsmöglichkeiten für ML Services in HDInsight erläutert:The following articles explain other ways of managing and working with ML Services on HDInsight: