Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server 2016 (13.x) und höhere Versionen
Bei diesem Tutorial handelt es sich um das 5. Tutorial der Tutorialreihe zu RevoScaleR. In diesem Tutorial erfahren Sie, wie Sie RevoScaleR-Funktionen mit SQL Server verwenden.
In diesem Tutorial werden die in den vorherigen Tutorials erstellten Datenquellen und Computekontexte verwendet, um leistungsstarke R-Skripts auszuführen. In diesem Tutorial verwenden Sie Computekontexte von lokalen und Remoteservern für die folgenden Aufgaben:
- Wechseln des Computekontexts auf SQL Server
- Abrufen von Zusammenfassungsstatistiken für Remotedatenobjekte
- Berechnen einer lokalen Zusammenfassung
Wenn Sie die vorherigen Tutorials abgeschlossen haben, sollten Sie über die folgenden Remotecomputekontexte verfügen: sqlCompute und sqlComputeTrace. In den nachfolgenden Tutorials verwenden Sie sqlCompute und den lokalen Computekontext.
In diesem Tutorial verwenden Sie eine R-IDE oder Rgui zum Ausführen des R-Skripts.
Berechnen von Zusammenfassungsstatistiken für Remotedaten
Bevor Sie einen R-Code ausführen können, müssen Sie den Remotecomputekontext angeben. Alle nachfolgenden Berechnungen erfolgen auf dem SQL Server-Computer, der im sqlCompute-Parameter angegeben ist.
Ein Computekontext bleibt so lange aktiv, bis Sie ihn ändern. Alle R-Skripts, die nicht in einem Remoteserverkontext ausgeführt werden können, werden automatisch lokal ausgeführt.
Um die Funktionsweise eines Computekontexts besser zu verstehen, generieren Sie eine Zusammenfassungsstatistik für die sqlFraudDS-Datenquelle auf der SQL Server-Remoteinstanz. Dieses Datenquellenobjekt wurde in Tutorial 2 erstellt und stellt die ccFraudSmall-Tabelle in der RevoDeepDive-Datenbank dar.
Wechseln Sie zum im vorherigen Tutorial erstellten Computekontext „sqlCompute“:
rxSetComputeContext(sqlCompute)Rufen Sie die Funktion rxSummary auf, und übergeben Sie alle erforderlichen Argumente, wie z. B. die Formel und die Datenquelle, und weisen Sie die Ergebnisse der Variablen
sumOutzu.sumOut <- rxSummary(formula = ~gender + balance + numTrans + numIntlTrans + creditLine, data = sqlFraudDS)Die R-Sprache stellt zahlreiche Zusammenfassungsfunktionen bereit, rxSummary in RevoScaleR unterstützt jedoch die Ausführung auf verschiedenen Remotecomputekontexten, einschließlich SQL Server. Weitere Informationen zu ähnlichen Funktionen finden Sie unter Datenzusammenfassungen unter Verwendung von RevoScaleR.
Gibt den Inhalt von sumOut in der Konsole aus.
sumOutHinweis
Wenn Sie eine Fehlermeldung erhalten, warten Sie einige Minuten, bis die Ausführung abgeschlossen ist, und führen Sie dann den Befehl erneut aus.
Ergebnisse
Summary Statistics Results for: ~gender + balance + numTrans + numIntlTrans + creditLine
Data: sqlFraudDS (RxSqlServerData Data Source)
Number of valid observations: 10000
Name Mean StdDev Min Max ValidObs MissingObs
balance 4075.0318 3926.558714 0 25626 100000
numTrans 29.1061 26.619923 0 100 10000 0 100000
numIntlTrans 4.0868 8.726757 0 60 10000 0 100000
creditLine 9.1856 9.870364 1 75 10000 0 100000
Category Counts for gender
Number of categories: 2
Number of valid observations: 10000
Number of missing observations: 0
gender Counts
Male 6154
Female 3846
Erstellen einer lokalen Zusammenfassung
Ändern Sie den Computekontext, damit all Ihre Arbeit lokal ausgeführt wird.
rxSetComputeContext ("local")Wenn Sie Daten aus SQL Server extrahieren, können Sie häufig eine bessere Leistung erzielen, indem Sie die Anzahl der für jeden Lesevorgang extrahierten Zeilen erhöhen, vorausgesetzt, es ist ausreichend Arbeitsspeicher für die größere Blockgröße vorhanden. Führen Sie den folgenden Befehl aus, um den Wert für den Parameter rowsPerRead in der Datenquelle zu erhöhen. Zuvor war der Wert von rowsPerRead auf 5000 festgelegt.
sqlServerDS1 <- RxSqlServerData( connectionString = sqlConnString, table = sqlFraudTable, colInfo = ccColInfo, rowsPerRead = 10000)Rufen Sie rxSummary für die neue Datenquelle auf.
rxSummary(formula = ~gender + balance + numTrans + numIntlTrans + creditLine, data = sqlServerDS1)Die tatsächlichen Ergebnisse sollten denen entsprechen, die beim Ausführen von rxSummary im Kontext des SQL Server -Computers ausgegeben werden. Der Vorgang kann jedoch schneller oder langsamer sein. Dies hängt hauptsächlich von der Verbindung zu Ihrer Datenbank ab, da die Daten für die Analyse auf Ihren lokalen Computer übertragen werden.
Wechseln Sie für die nächsten Tutorials wieder zum Remotecomputekontext.
rxSetComputeContext(sqlCompute)