Verwenden von T-SQL (CREATE EXTERNAL LIBRARY) zum Installieren von R-Paketen in SQL Server

Gilt für: Nur SQL Server 2017 (14.x)

In diesem Artikel wird erläutert, wie neue R-Pakete in einer Instanz von SQL Server installiert werden können, in der maschinelles Lernen aktiviert ist. Es stehen mehrere Ansätze zur Wahl. T-SQL eignet sich am besten für Serveradministratoren, die mit R nicht vertraut sind.

Die Anweisung CREATE EXTERNAL LIBRARY ermöglicht es, ein Paket oder eine Gruppe von Paketen zu einer Instanz oder einer bestimmten Datenbank hinzuzufügen, ohne R- oder Python-Code direkt auszuführen. Diese Methode erfordert jedoch eine Paketvorbereitung und zusätzliche Datenbankberechtigungen.

  • Alle Pakete müssen als lokale ZIP-Datei zur Verfügung stehen und dürfen nicht bedarfsweise aus dem Internet heruntergeladen werden.

  • Alle Abhängigkeiten müssen anhand des Namens und der Version identifiziert und in die ZIP-Datei eingebunden werden. Die Anweisung schlägt fehl, wenn erforderliche Pakete nicht verfügbar sind, einschließlich nachgelagerter Paketabhängigkeiten.

  • Sie müssen die Rolle db_owner oder die Berechtigung CREATE EXTERNAL LIBRARY in einer Datenbankrolle haben. Einzelheiten finden Sie unter CREATE EXTERNAL LIBRARY.

Herunterladen von Paketen im Archivformat

Wenn Sie ein einzelnes Paket installieren, laden Sie das Paket im ZIP-Format herunter.

Aufgrund von Paketabhängigkeiten ist es üblich, mehrere Pakete zu installieren. Wenn ein Paket andere Pakete erfordert, müssen Sie sicherstellen, dass alle anderen Pakete während der Installation aufeinander zugreifen können. Es wird empfohlen, die Tools miniCRAN zum Erstellen eines lokalen Repositorys für das Zusammenstellen einer vollständigen Paketsammlung und igraph zum Analysieren von Paketabhängigkeiten zu verwenden. Das Installieren der falschen Version eines Pakets oder Weglassen einer Paketabhängigkeit kann dazu führen, dass eine CREATE EXTERNAL LIBRARY-Anweisung fehlschlägt.

Kopieren der Datei in einen lokalen Ordner

Kopieren Sie die ZIP-Datei mit allen Paketen in einen lokalen Ordner auf dem Server. Wenn Sie keinen Zugriff auf das Dateisystem auf dem Server haben, können Sie auch ein komplettes Paket in einem Binärformat als Variable übergeben. Weitere Informationen finden Sie unter CREATE EXTERNAL LANGUAGE.

Ausführen der Anweisung zum Hochladen von Paketen

Öffnen Sie mit einem Konto mit Administratorrechten das Fenster Abfrage.

Führen Sie die T-SQL-Anweisung CREATE EXTERNAL LIBRARY aus, um die gezippte Paketsammlung in die Datenbank hochzuladen.

Die folgende Anweisung benennt beispielsweise als Paketquelle ein miniCRAN-Repository, welches das Paket randomForest und seine Abhängigkeiten enthält.

CREATE EXTERNAL LIBRARY [randomForest]
FROM (CONTENT = 'C:\Temp\Rpackages\randomForest_4.6-12.zip')
WITH (LANGUAGE = 'R');

Sie können keinen willkürlichen Namen verwenden. Der Name der externen Bibliothek muss denselben Namen haben, den Sie beim Laden oder Aufrufen des Pakets erwarten.

Überprüfen der Paketinstallation

Wenn die Bibliothek erfolgreich erstellt wurde, können Sie das Paket in SQL Server ausführen, indem Sie es innerhalb einer gespeicherten Prozedur aufrufen.

EXEC sp_execute_external_script
@language =N'R',
@script=N'library(randomForest)'

Weitere Informationen