R-Entwicklerleitfaden für Azure

R-Logo

Viele Datenanalysten müssen ständig wachsende Datenmengen verarbeiten und suchen nach Möglichkeiten, die Leistung von Cloud Computing für ihre Analysen nutzen. Dieser Artikel enthält eine Übersicht über die verschiedenen Möglichkeiten, die Datenanalysten offen stehen, um ihre vorhandenen Fähigkeiten mit der Programmiersprache R in Azure zu nutzen.

Microsoft hat die Programmiersprache R als erstklassiges Tool für Data Scientists vollständig einbezogen. Durch die Bereitstellung vieler verschiedener Optionen für R-Entwickler zur Ausführung ihres Codes in Azure ermöglicht das Unternehmen den Data Scientists, ihre Data Science-Workloads bei umfangreichen Projekten auf die Cloud auszuweiten.

Sehen wir uns die verschiedenen Optionen und die jeweils passendsten Szenarien an.

Azure-Dienste mit Unterstützung der Sprache R

Dieser Artikel behandelt die folgenden Azure-Dienste, die die R-Sprache unterstützen:

Dienst BESCHREIBUNG
Virtueller Computer für Data Science Eine benutzerdefinierte VM, die als Data Science-Arbeitsstation oder als benutzerdefiniertes Computeziel verwendet wird
ML Services in HDInsight Clusterbasiertes System für die Ausführung von R-Analysen für große Datasets auf zahlreichen Knoten
Azure Databricks Spark-Umgebung zur Zusammenarbeit, die R und andere Sprachen unterstützt
Azure Machine Learning Ein Clouddienst, den Sie zum Trainieren, Bereitstellen, Automatisieren und Verwalten von Machine Learning-Modellen verwenden.
Azure Batch Angebot einer Vielzahl von Optionen zur wirtschaftlichen Ausführung von R-Code auf vielen Knoten in einem Cluster
Verwaltete Azure SQL-Datenbank-Instanz Ausführung von R- und Python-Skripts innerhalb der SQL Server-Datenbank-Engine

Virtueller Computer für Data Science

Data Science Virtual Machine (DSVM) ist ein benutzerdefiniertes VM-Image auf der Microsoft Azure-Cloudplattform, das speziell für Data Science erstellt wurde. Dieses Image umfasst viele gängige Data Science-Tools:

DSVM kann entweder mit Windows oder Linux als Betriebssystem bereitgestellt werden. Sie können DSVM auf zwei unterschiedliche Arten verwenden: als interaktive Arbeitsstation oder als Computeplattform für einen benutzerdefinierten Cluster.

Als Arbeitsstation

Wenn Sie schnell und einfach mit R in der Cloud beginnen möchten, ist dies die beste Lösung. Die Umgebung ist jedem vertraut, der mit R auf einer lokalen Arbeitsstation gearbeitet hat. Statt lokale Ressourcen zu verwenden, wird die R-Umgebung jedoch auf einem virtuellen Computer in der Cloud ausgeführt. Wenn Ihre Daten bereits in Azure gespeichert sind, hat dies den zusätzlichen Vorteil, dass Ihre R-Skripts "näher an den Daten" ausgeführt werden können. Anstatt die Daten über das Internet zu übertragen, kann über das interne Azure-Netzwerk auf die Daten zugegriffen werden, was viel schnellere Zugriffszeiten bietet.

DSVM kann besonders für kleine Teams von R-Entwicklern nützlich sein. Anstatt in leistungsfähige Arbeitsstationen für jeden einzelnen Entwickler zu investieren, sodass Teammitglieder sich über die zu verwendenden Versionen der verschiedenen Softwarepakete abstimmen müssen, kann jeder Entwickler ganz nach Bedarf eine Instanz von DSVM einrichten.

Als Computeplattform

Zusätzlich zur Verwendung als Arbeitsstation wird DSVM auch als elastisch skalierbare Computeplattform für R-Projekte verwendet werden. Mit dem AzureDSVM-R-Paket können Sie das Erstellen und Löschen von DSVM-Instanzen programmgesteuert verwalten. Sie können die Instanzen in einem Cluster zusammenfassen und eine verteilte Analyse zur Durchführung in der Cloud bereitstellen. Dieser gesamte Prozess kann durch R-Code gesteuert werden, der auf Ihrer lokalen Arbeitsstation ausgeführt wird.

Weitere Informationen zu DSVM finden Sie unter Einführung in Azure Data Science Virtual Machine für Linux und Windows.

ML Services in HDInsight

Microsoft ML Services ermöglicht Data Scientists, Statistikern und R-Programmierern bei Bedarf den Zugriff auf skalierbare, verteilte Analysemethoden in HDInsight. Diese Lösung bietet die neuesten Funktionen für die R-basierte Analyse praktisch beliebig großer Datasets, die entweder in Azure-Blobspeicher oder Data Lake Storage geladen wurden.

Dies ist eine Lösung auf Unternehmensniveau, die Ihnen das Skalieren Ihres R-Codes auf einen Cluster ermöglicht. Durch Verwenden von Funktionen im RevoScaleR-Paket von Microsoft können Ihre R-Skripts für HDInsight Funktionen zur Datenverarbeitung auf zahlreichen Knoten in einem Cluster parallel ausführen. Dadurch kann R Daten in einem viel größeren Maßstab verarbeiten, als dies mit Singlethread-R auf einer Arbeitsstation möglich ist.

Diese Skalierungsmöglichkeit macht ML Services in HDInsight zu einer hervorragenden Option für R-Entwickler mit riesigen Datasets. Es bietet eine flexible und skalierbare Plattform für die Ausführung Ihrer R-Skripts in der Cloud. Eine exemplarische Vorgehensweise zum Erstellen eines ML Services-Clusters finden Sie unter Erste Schritte mit ML Services in Azure HDInsight.

Azure Databricks

Azure Databricks ist eine Apache Spark-basierte Analyseplattform, die für die Microsoft Azure-Clouddienstplattform optimiert ist. Databricks wurde zusammen mit den Gründern von Apache Spark entworfen und ist in Azure integriert, um Folgendes zu ermöglichen: Einrichtung mit nur einem Klick, optimierte Workflows und einen interaktiven Arbeitsbereich für die Zusammenarbeit von Datenspezialisten, Data Engineers und Business Analysts.

Die Zusammenarbeit in Databricks wird durch das Notebook-System der Plattform ermöglicht. Benutzer können Notebooks zusammen mit anderen Benutzern der Systeme erstellen, freigeben und bearbeiten. Mit diesen Notebooks können Benutzer Code schreiben, der für Spark-Cluster ausgeführt wird, die in der Databricks-Umgebung verwaltet werden. Diese Notebooks bieten vollständige Unterstützung für R und erteilen Benutzern den Zugriff auf Spark über die Pakete SparkR und sparklyr.

Da Databricks auf Spark basiert und einen starken Fokus auf die Zusammenarbeit legt, wird die Plattform häufig von Teams aus Data Scientists verwendet, die zusammen an komplexen Analysen umfangreicher Datasets arbeiten. Da die Notebooks in Databricks zusätzlich zu R auch andere Sprachen unterstützen, eignen sich diese Lösung besonders für Teams, in denen die Analysten verschiedene Sprachen für ihre primäre Arbeit verwenden.

Im Artikel Was ist Azure Databricks? finden Sie weitere Details zur Plattform sowie Unterstützung bei den ersten Schritten.

Azure Machine Learning

Azure Machine Learning kann für alle Arten von maschinellem Lernen verwendet werden – von klassischem Machine Learning bis zu Deep Learning und für überwachtes und nicht überwachtes Lernen. Unabhängig davon, ob Sie das Schreiben von Python- oder R-Code oder die Nutzung von Optionen ohne bzw. mit nur wenig Code (z.B. per Designer) bevorzugen, können Sie in einem Azure Machine Learning-Arbeitsbereich hochpräzise Machine Learning- und Deep Learning-Modelle erstellen, trainieren und nachverfolgen.

Beginnen Sie auf Ihrem lokalen Computer mit dem Training, und führen Sie dann eine Aufskalierung auf die Cloud durch. Trainieren Sie Ihr erstes Modells in R noch heute mit Azure Machine Learning.

Azure Batch

Für umfangreiche R-Aufträge können Sie Azure Batch verwenden. Dieser Dienst bietet Auftragsplanung und Computeverwaltung im Maßstab der Cloud, sodass Sie Ihre R-Workload auf Dutzende, Hunderte oder Tausende virtueller Computer skalieren können. Da es sich um eine generalisierte Computeplattform handelt, gibt es einige wenige Optionen für die Ausführung von R-Aufträgen in Azure Batch.

Eine Option für die Ausführung eines R-Skripts in Azure Batch besteht darin, Ihren Code mit „RScript.exe“ als Batch-Apps im Azure-Portal zu bündeln. Eine ausführliche exemplarische Vorgehensweise finden Sie unter R Workloads on Azure Batch (R-Workloads in Azure Batch).

Als weitere Möglichkeit können Sie das Azure Distributed Data Engineering Toolkit (AZTK) verwenden. Dieses ermöglicht die Bereitstellung bedarfsgesteuerter Spark-Cluster mithilfe von Docker-Containern in Azure Batch. Dadurch bietet sich eine preisgünstige Möglichkeit zum Ausführen von Spark-Aufträgen in Azure. Indem Sie SparklyR mit AZTK verwenden, können Ihre R-Skripts in der Cloud einfach und kostengünstig horizontal hochskaliert werden.

Verwaltete Azure SQL-Instanz

Azure SQL Managed Instance ist der intelligente, skalierbare Clouddatenbankdienst von Microsoft. Damit können Sie das volle Potenzial von SQL Server nutzen, ohne die Infrastruktur einrichten zu müssen. Dies umfasst Machine Learning Services, das Microsoft R- und Python-Pakete für leistungsstarke Predictive Analytics und maschinelles Lernen.

Machine Learning Services bietet eine eingebettete Predictive Analytics- und Data Science-Engine, die R/Python-Code innerhalb einer SQL Server-Datenbank ausführen kann. Statt Daten aus der Datenbank zu extrahieren und in die R/Python-Umgebung zu laden, laden Sie Ihren R/Python-Code direkt in die Datenbank und lassen ihn neben den Daten ausführen. Die relationalen Daten können in gespeicherten Prozeduren, als T-SQL-Skripts mit R/Python-Anweisungen oder als R/Python-Code mit T-SQL verwendet werden.

Machine Learning Services ist bereits seit 2016 Bestandteil der lokalen SQL Server-Version, wurde aber in Azure SQL Managed Instance erst vor kurzem eingeführt.

Nächste Schritte


Für das R-Logo gilt © 2016 The R Foundation. Es wird gemäß den Bedingungen der Creative Commons Attribution-ShareAlike 4.0 International-Lizenz verwendet.