Worum handelt es sich bei ML Services in Azure HDInsight?What is ML Services in Azure HDInsight

Microsoft Machine Learning Server ist als Bereitstellungsoption bei der Erstellung von HDInsight-Clustern in Azure verfügbar.Microsoft Machine Learning Server is available as a deployment option when you create HDInsight clusters in Azure. Der Clustertyp, der diese Option bietet, heißt ML Services.The cluster type that provides this option is called ML Services. Diese Funktion ermöglicht Datenanalysten, Statistikern und R-Programmierern bei Bedarf den Zugriff auf skalierbare, verteilte Analysemethoden in HDInsight.This capability provides data scientists, statisticians, and R programmers with on-demand access to scalable, distributed methods of analytics on HDInsight.

ML Services in HDInsight bietet die neuesten Funktionen für die R-basierte Analyse praktisch beliebig großer Datasets, die in Azure Blob Storage oder Data Lake Store geladen wurden.ML Services on HDInsight provides the latest capabilities for R-based analytics on datasets of virtually any size, loaded to either Azure Blob or Data Lake storage. Da ML Services-Cluster auf Open-Source-R basieren, stehen Ihnen bei der Erstellung R-basierter Anwendungen alle über 8.000 Open-Source-R-Pakete zur Verfügung.Since ML Services cluster is built on open-source R, the R-based applications you build can leverage any of the 8000+ open-source R packages. Die Routinen in ScaleR, dem Big Data-Analysepaket von Microsoft, stehen ebenfalls zur Verfügung.The routines in ScaleR, Microsoft’s big data analytics package are also available.

Der Edgeknoten eines Clusters ist ein praktischer Ort für die Verbindungsherstellung mit dem Cluster und die Ausführung Ihrer R-Skripts.The edge node of a cluster provides a convenient place to connect to the cluster and to run your R scripts. Mit einem Edgeknoten haben Sie die Möglichkeit, die parallelisierten verteilten Funktionen von ScaleR in allen Kernen der Edgeknotenserver auszuführen.With an edge node, you have the option of running the parallelized distributed functions of ScaleR across the cores of the edge node server. Außerdem können Sie sie in allen Knoten des Clusters ausführen, indem Sie Hadoop MapReduce von ScaleR oder Apache Spark-Computekontexte verwenden.You can also run them across the nodes of the cluster by using ScaleR’s Hadoop Map Reduce or Apache Spark compute contexts.

Die Modelle oder Vorhersagen, die sich aus der Analyse ergeben, können für die lokale Verwendung heruntergeladen werden.The models or predictions that result from analysis can be downloaded for on-premises use. Sie können auch an anderer Stelle in Azure operationalisiert werden, insbesondere über den Azure Machine Learning Studio-Webdienst.They can also be operationalized elsewhere in Azure, in particular through Azure Machine Learning Studio web service.

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

Um in Azure HDInsight einen ML Services-Cluster zu erstellen, wählen Sie beim Erstellen eines HDInsight-Clusters im Azure-Portal den Clustertyp ML Services aus.To create an ML Services cluster in Azure HDInsight, select the ML Services cluster type when creating an HDInsight cluster using the Azure portal. Der Typ des ML Services-Clusters bezieht ML Server auf den Datenknoten des Clusters und auf einem Edgeknoten ein, der als Landezone für ML Services-basierte Analysen dient.The ML Services cluster type includes ML Server on the data nodes of the cluster and on an edge node, which serves as a landing zone for ML Services-based analytics. Unter Erstellen von Apache Hadoop-Clustern im Azure-Portal finden Sie eine exemplarische Vorgehensweise zum Erstellen des Clusters.See Create Apache Hadoop clusters using the Azure portal for a walkthrough on how to create the cluster.

Gründe für die Wahl von ML Services in HDInsightWhy choose ML Services in HDInsight?

ML Services in HDInsight bietet folgende Vorteile:ML Services in HDInsight provides the following benefits:

KI-Innovation von Microsoft und Open-SourceAI innovation from Microsoft and open-source

ML Services beinhaltet hochgradig skalierbare, verteilte Algorithmen, etwa RevoscaleR, revoscalepy und microsoftML, die auf Datenvolumen oberhalb der Größe des Arbeitsspeichers angewandt werden können und sich in verteilter Form auf einer Vielzahl von Plattformen ausführen lassen.ML Services includes highly scalable, distributed set of algorithms such as RevoscaleR, revoscalepy, and microsoftML that can work on data sizes larger than the size of physical memory, and run on a wide variety of platforms in a distributed manner. Erfahren Sie mehr über die Sammlung der angepassten R-Pakete und Python-Pakete von Microsoft, die im Lieferumfang des Produkts enthalten sind.Learn more about the collection of Microsoft's custom R packages and Python packages included with the product.

ML Services verbindet diese Microsoft-Innovationen mit Beiträgen aus der Open-Source-Community (R-, Python- und KI-Toolkits) auf einer einzelnen Plattform auf Unternehmensniveau.ML Services bridges these Microsoft innovations and contributions coming from the open-source community (R, Python, and AI toolkits) all on top of a single enterprise-grade platform. Jedes Open-Source-Paket für maschinelles Lernen in R oder Python funktioniert parallel mit jeder proprietären Innovation von Microsoft.Any R or Python open-source machine learning package can work side by side with any proprietary innovation from Microsoft.

Einfache, sichere und hochgradig skalierbare Operationalisierung und VerwaltungSimple, secure, and high-scale operationalization and administration

Unternehmen, die auf traditionelle Paradigmen und Umgebungen bauen, investieren viel Zeit und Mühe in die Operationalisierung.Enterprises relying on traditional paradigms and environments invest much time and effort towards operationalization. Dies führt zu überhöhten Kosten und Verzögerungen wie der Übersetzungszeit für Modelle, Iterationen, um sie gültig und aktuell zu halten, behördlichen Genehmigungen und der Verwaltung von Berechtigungen durch Operationalisierung.This results in inflated costs and delays including the translation time for models, iterations to keep them valid and current, regulatory approval, and managing permissions through operationalization.

ML Services bietet Operationalisierung auf Unternehmensniveau: Nach der Fertigstellung eines Modells für maschinelles Lernen können Webdienst-APIs mit wenigen Klicks erstellt werden.ML Services offers enterprise grade operationalization, in that, after a machine learning model is completed, it takes just a few clicks to generate web services APIs. Diese Webdienste werden auf einem Serverraster in der Cloud gehostet und können mit Branchenanwendungen integriert werden.These web services are hosted on a server grid in the cloud and can be integrated with line-of-business applications. Durch die Möglichkeit der Bereitstellung in einem elastischen Raster können Sie nahtlos mit den Anforderungen Ihres Unternehmens skalieren, sowohl für Batch- als auch für Echtzeitbewertung.The ability to deploy to an elastic grid lets you scale seamlessly with the needs of your business, both for batch and real-time scoring. Anweisungen finden Sie unter Operationalisieren von ML Services in HDInsight.For instructions, see Operationalize ML Services on HDInsight.

Zentrale Features von ML Services in HDInsightKey features of ML Services on HDInsight

Die folgenden Features sind in ML Services in HDInsight enthalten.The following features are included in ML Services on HDInsight.

FeaturekategorieFeature category BESCHREIBUNGDescription
R-fähigR-enabled R-Pakete für in R erstellte Lösungen mit einer Open-Source-Distribution von R und einer Laufzeitinfrastruktur für die Skriptausführung.R packages for solutions written in R, with an open source distribution of R, and run-time infrastructure for script execution.
Python-fähigPython-enabled Python-Module für in Python erstellte Lösungen mit einer Open-Source-Distribution von Python und einer Laufzeitinfrastruktur für die Skriptausführung.Python modules for solutions written in Python, with an open source distribution of Python, and run-time infrastructure for script execution.
Vortrainierte ModellePre-trained models Für visuelle Analyse und Textempfindungsanalyse, bereit zur Bewertung der Daten, die Sie zur Verfügung stellen.For visual analysis and text sentiment analysis, ready to score data you provide.
Bereitstellen und NutzenDeploy and consume Operationalisieren Sie Ihren Server, und stellen Sie Lösungen als Webdienst bereit.Operationalize your server and deploy solutions as a web service.
RemoteausführungRemote execution Starten Sie Remotesitzungen auf ML Services-Clustern in Ihrem Netzwerk von Ihrer Clientarbeitsstation aus.Start remote sessions on ML Services cluster on your network from your client workstation.

Datenspeicherungsoptionen für ML Services in HDInsightData storage options for ML Services on HDInsight

Standardspeicher für das HDFS-Dateisystem von HDInsight-Clustern können entweder einem Azure Storage-Konto oder Azure Data Lake Storage zugeordnet werden.Default storage for the HDFS file system of HDInsight clusters can be associated with either an Azure Storage account or an Azure Data Lake Storage. Durch diese Zuordnung wird sichergestellt, dass alle Daten, die während einer Analyse in den Clusterspeicher hochgeladen werden, persistent gemacht werden und selbst nach der Löschung des Clusters noch verfügbar sind.This association ensures that whatever data is uploaded to the cluster storage during analysis is made persistent and the data is available even after the cluster is deleted. Es gibt verschiedene Tools für die Datenübertragung in die von Ihnen ausgewählte Speicheroption, einschließlich der portalbasierten Hochladefunktion für das Speicherkonto und des AzCopy-Hilfsprogramms.There are various tools for handling the data transfer to the storage option that you select, including the portal-based upload facility of the storage account and the AzCopy utility.

Unabhängig von der verwendeten primären Speicheroption haben Sie die Möglichkeit, während des Clusterbereitstellungsvorgangs den Zugriff auf zusätzliche Blobspeicher und Data Lake-Speicher zu ermöglichen.You have the option of enabling access to additional Blob and Data lake stores during the cluster provisioning process regardless of the primary storage option in use. Weitere Informationen zur Verwendung von mehreren Speicherkonten finden Sie unter Azure Storage-Optionen für ML Services in HDInsight.See Azure Storage options for ML Services on HDInsight article to learn more about using multiple storage accounts.

Außerdem können Sie Azure Files als Speicheroption für den Edgeknoten wählen.You can also use Azure Files as a storage option for use on the edge node. Mit Azure Files können Sie eine Dateifreigabe, die in Azure Storage erstellt wurde, für das Linux-Dateisystem bereitstellen.Azure Files enables you to mount a file share that was created in Azure Storage to the Linux file system. Weitere Informationen zu diesen Datenspeicheroptionen für ML Services in HDInsight-Clustern finden Sie unter Azure Storage-Lösungen für ML Services in HDInsight.For more information about these data storage options for ML Services on HDInsight cluster, see Azure Storage options for ML Services on HDInsight.

Zugreigen auf ML Services-EdgeknotenAccess ML Services edge node

Sie können über einen Browser eine Verbindung mit ML Server auf dem Edgeknoten herstellen.You can connect to Microsoft ML Server on the edge node using a browser. R Server wird standardmäßig bei der Clustererstellung installiert.It is installed by default during cluster creation. Sie können auch über die Befehlszeile eine Verbindung mit Clusteredgeknoten herstellen, indem Sie mithilfe von SSH/PuTTY auf die R-Konsole zugreifen.You can also connect to the cluster edge node from the command line by using SSH/PuTTY to access the R console.

Entwickeln und Ausführen von R-SkriptsDevelop and run R scripts

Für von Ihnen geschriebene und ausgeführte R-Skripts können zusätzlich zu den parallelisierten und verteilten Routinen in der ScaleR-Bibliothek mehr als 8000 Open-Source-R-Pakete verwendet werden.The R scripts you create and run can use any of the 8000+ open-source R packages in addition to the parallelized and distributed routines available in the ScaleR library. Im Allgemeinen wird ein Skript, das mit ML Services auf dem Edgeknoten ausgeführt wird, im R-Interpreter auf diesem Knoten ausgeführt.In general, a script that is run with ML Services on the edge node runs within the R interpreter on that node. Ausgenommen hiervon sind die Schritte, die eine ScaleR-Funktion mit einem Rechenkontext aufrufen müssen, der auf Hadoop MapReduce (RxHadoopMR) oder Spark (RxSpark) festgelegt ist.The exceptions are those steps that need to call a ScaleR function with a compute context that is set to Hadoop Map Reduce (RxHadoopMR) or Spark (RxSpark). In diesem Fall wird die Funktion über diejenigen Daten(aufgabe)knoten des Clusters verteilt ausgeführt, die den Daten zugeordnet sind, auf die verwiesen wird.In this case, the function runs in a distributed fashion across those data (task) nodes of the cluster that are associated with the data referenced. Weitere Informationen zu den verschiedenen Optionen für Berechnungskontexte finden Sie unter Computekontextoptionen für ML Services in HDInsight.For more information about the different compute context options, see Compute context options for ML Services on HDInsight.

Operationalisieren eines ModellsOperationalize a model

Nach Abschluss der Datenmodellierung können Sie das Modell operationalisieren, um in Azure oder lokal Vorhersagen über neue Daten treffen zu können.When your data modeling is complete, you can operationalize the model to make predictions for new data either from Azure or on-premises. Dieser Prozess wird als Bewertung bezeichnet.This process is known as scoring. Eine Bewertung kann in HDInsight, Azure Machine Learning oder lokal ausgeführt werden.Scoring can be done in HDInsight, Azure Machine Learning, or on-premises.

Bewertung in HDInsightScore in HDInsight

Schreiben Sie für die Bewertung in HDInsight eine R-Funktion, mit der Ihr Modell aufgerufen wird, um Vorhersagen für eine neue Datendatei zu treffen, die Sie in Ihr Speicherkonto geladen haben.To score in HDInsight, write an R function that calls your model to make predictions for a new data file that you've loaded to your storage account. Speichern Sie die Vorhersagen dann wieder im Speicherkonto.Then, save the predictions back to the storage account. Sie können diese Routine bedarfsgesteuert auf dem Edgeknoten Ihres Clusters oder mithilfe eines geplanten Auftrags ausführen.You can run this routine on-demand on the edge node of your cluster or by using a scheduled job.

Bewertung in Azure Machine Learning (AML)Score in Azure Machine Learning (AML)

Verwenden Sie für die Bewertung mit Azure Machine Learning das Open-Source-Azure Machine Learning-R-Paket namens AzureML, um Ihr Modell als Azure-Webdienst zu veröffentlichen.To score using Azure Machine Learning, use the open-source Azure Machine Learning R package known as AzureML to publish your model as an Azure web service. Der Einfachheit halber ist dieses Paket auf dem Edgeknoten vorinstalliert.For convenience, this package is pre-installed on the edge node. Verwenden Sie als Nächstes die Funktionen in Azure Machine Learning zum Erstellen einer Benutzeroberfläche für den Webdienst, und rufen Sie den Webdienst dann nach Bedarf für die Bewertung auf.Next, use the facilities in Azure Machine Learning to create a user interface for the web service, and then call the web service as needed for scoring.

Wenn Sie diese Option auswählen, müssen Sie zur Verwendung mit dem Webdienst alle ScaleR-Modellobjekte in entsprechende Open-Source-Modellobjekte umwandeln.If you choose this option, you must convert any ScaleR model objects to equivalent open-source model objects for use with the web service. Verwenden Sie für diese Umwandlung ScaleR-Koersionsfunktionen wie as.randomForest() für ensemblebasierte Modelle.Use ScaleR coercion functions, such as as.randomForest() for ensemble-based models, for this conversion.

Lokale BewertungScore on-premises

Um nach der Erstellung Ihres Modells eine lokale Bewertung durchzuführen, können Sie das Modell in R serialisieren, herunterladen, deserialisieren und anschließend für die Bewertung neuer Daten verwenden.To score on-premises after creating your model, you can serialize the model in R, download it, de-serialize it, and then use it for scoring new data. Sie können die Bewertung für neue Daten durchführen, indem Sie den weiter oben unter Bewertung in HDInsight beschriebenen Ansatz verwenden oder Webdienste nutzen.You can score new data by using the approach described earlier in Score in HDInsight or by using web services.

Verwalten des ClustersMaintain the cluster

Installieren und Verwalten von R-PaketenInstall and maintain R packages

Die meisten R-Pakete, die Sie verwenden, sind auf dem Edgeknoten erforderlich, da ein Großteil der Schritte Ihrer R-Skripts dort ausgeführt wird.Most of the R packages that you use are required on the edge node since most steps of your R scripts run there. Um auf dem Edgeknoten zusätzliche R-Pakete zu installieren, verwenden Sie in R die install.packages()-Methode.To install additional R packages on the edge node, you can use the install.packages() method in R.

Wenn Sie nur Routinen aus der ScaleR-Bibliothek auf den Cluster anwenden, müssen Sie in der Regel keine zusätzlichen R-Pakete auf den Datenknoten installieren.If you are just using routines from the ScaleR library across the cluster, you do not usually need to install additional R packages on the data nodes. Sie benötigen aber unter Umständen zusätzliche Pakete, um die Verwendung der rxExec- oder RxDataStep-Ausführung auf den Datenknoten zu unterstützen.However, you might need additional packages to support the use of rxExec or RxDataStep execution on the data nodes.

In solchen Fällen können die zusätzlichen Pakete nach dem Erstellen des Clusters mithilfe einer Skriptaktion installiert werden.In such cases, the additional packages can be installed with a script action after you create the cluster. Weitere Informationen finden Sie unter Verwalten von ML Services in HDInsight-Clustern.For more information, see Manage ML Services in HDInsight cluster.

Ändern der Apache Hadoop MapReduce-SpeichereinstellungenChange Apache Hadoop MapReduce memory settings

Ein Cluster kann dahin gehend geändert werden, dass er die Speichermenge, die ML Services bei der Ausführung eines MapReduce-Auftrags zur Verfügung steht, ändern kann.A cluster can be modified to change the amount of memory that is available to ML Services when it is running a MapReduce job. Verwenden Sie zum Ändern eines Clusters die Apache Ambari-Benutzeroberfläche, die über das Blatt des Clusters im Azure-Portal verfügbar ist.To modify a cluster, use the Apache Ambari UI that's available through the Azure portal blade for your cluster. Informationen zum Zugriff auf die Ambari-Benutzeroberfläche für Ihren Cluster finden Sie unter Verwalten von HDInsight-Clustern mithilfe der Ambari-Webbenutzeroberfläche.For instructions about how to access the Ambari UI for your cluster, see Manage HDInsight clusters using the Ambari Web UI.

Sie können den für ML Services zur Verfügung stehenden Speicher ändern, indem Sie Hadoop-Switches beim Aufruf von RxHadoopMR wie folgt verwenden:It is also possible to change the amount of memory that is available to ML Services by using Hadoop switches in the call to RxHadoopMR as follows:

hadoopSwitches = "-libjars /etc/hadoop/conf -Dmapred.job.map.memory.mb=6656"  

Skalieren des ClustersScale your cluster

Ein vorhandener ML Services-Cluster in HDInsight kann über das Portal zentral hoch- oder herunterskaliert werden.An existing ML Services cluster on HDInsight can be scaled up or down through the portal. Durch das vertikale Skalieren erzielen Sie die zusätzliche Kapazität, die Sie für umfangreichere Verarbeitungsaufgaben benötigen, oder Sie können einen im Leerlauf befindlichen Cluster wieder herunterskalieren.By scaling up, you can gain the additional capacity that you might need for larger processing tasks, or you can scale back a cluster when it is idle. Eine Anleitung zum Skalieren eines Clusters finden Sie unter Verwalten von HDInsight-Clustern.For instructions about how to scale a cluster, see Manage HDInsight clusters.

Warten des SystemsMaintain the system

Die Wartung zur Anwendung von Betriebssystempatches und anderer Updates wird auf den zugrundeliegenden Linux-VMs in einem HDInsight-Cluster außerhalb der Arbeitszeiten durchgeführt.Maintenance to apply OS patches and other updates is performed on the underlying Linux VMs in an HDInsight cluster during off-hours. Normalerweise wird die Wartung jeden Montag und Donnerstag um 3:30 Uhr (Ortszeit der VM) durchgeführt.Typically, maintenance is done at 3:30 AM (based on the local time for the VM) every Monday and Thursday. Die Updates werden so geplant, dass jeweils maximal ein Viertel des Clusters betroffen ist.Updates are performed in such a way that they don't impact more than a quarter of the cluster at a time.

Da die Hauptknoten redundant sind und nicht alle Datenknoten betroffen sind, werden alle Aufträge, die während dieses Zeitraums ausgeführt werden, unter Umständen verlangsamt.Since the head nodes are redundant and not all data nodes are impacted, any jobs that are running during this time might slow down. Sie sollten aber trotzdem vollständig ausgeführt werden.However, they should still run to completion. Jegliche benutzerdefinierte Software oder lokalen Daten, über die Sie ggf. verfügen, werden über diese Wartungsereignisse hinweg erhalten – sofern kein schwerwiegender Fehler auftritt, der eine Neuerstellung des Clusters erfordert.Any custom software or local data that you have is preserved across these maintenance events unless a catastrophic failure occurs that requires a cluster rebuild.

IDE-Optionen für ML Services in HDInsightIDE options for ML Services on HDInsight

Der Linux-Edgeknoten auf einem HDInsight-Cluster stellt die Landezone für R-basierte Analysen dar.The Linux edge node of an HDInsight cluster is the landing zone for R-based analysis. Neuere Versionen von HDInsight bieten eine Standardinstallation von RStudio Server als browserbasierte IDE auf dem Edgeknoten.Recent versions of HDInsight provide a default installation of RStudio Server on the edge node as a browser-based IDE. Die Verwendung von RStudio Server als IDE für die Entwicklung und Ausführung von R-Skripts kann erheblich produktiver sein als die ausschließliche Verwendung der R-Konsole.Use of RStudio Server as an IDE for the development and execution of R scripts can be considerably more productive than just using the R console.

Darüber hinaus können Sie eine Desktop-IDE installieren und sie verwenden, um mithilfe eines Remote-MapReduce- oder Spark-Rechenkontexts auf den Cluster zuzugreifen.Additionally, you can install a desktop IDE and use it to access the cluster through use of a remote MapReduce or Spark compute context. Zu den Optionen gehören R Tools für Visual Studio (RTVS) von Microsoft, RStudio und das auf Eclipse basierende StatET von Walware.Options include Microsoft’s R Tools for Visual Studio (RTVS), RStudio, and Walware’s Eclipse-based StatET.

Außerdem können Sie nach dem Herstellen einer Verbindung über SSH oder PuTTY durch Eingabe von R an der Linux-Eingabeaufforderung auf die R-Konsole auf dem Edgeknoten zugreifen.Additionally, you can access the R console on the edge node by typing R at the Linux command prompt after connecting via SSH or PuTTY. Wenn Sie die Konsolenschnittstelle verwenden, ist es sinnvoll, einen Texteditor für die R-Skriptentwicklung in einem anderen Fenster auszuführen und Abschnitte Ihres Skripts nach Bedarf auszuschneiden und in die R-Konsole einzufügen.When using the console interface, it is convenient to run a text editor for R script development in another window, and cut and paste sections of your script into the R console as needed.

PreisePricing

Die Preise für einen ML Services-HDInsight-Cluster sind ähnlich strukturiert wie die Preise für andere HDInsight-Clustertypen.The prices that are associated with an ML Services HDInsight cluster are structured similarly to the prices for other HDInsight cluster types. Sie basieren auf der Größe der zugrundeliegenden VMs des Clusters sowie der Daten und Edgeknoten. Hinzu kommt eine stündliche Zusatzgebühr pro Kern.They are based on the sizing of the underlying VMs across the name, data, and edge nodes, with the addition of a core-hour uplift. Weitere Informationen finden Sie unter HDInsight – Preise.For more information, see HDInsight pricing.

Nächste SchritteNext steps

Weitere Informationen zur Verwendung von ML Services in HDInsight-Clustern finden Sie unter den folgenden Themen:To learn more about how to use ML Services on HDInsight clusters, see the following topics: