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 10. Tutorial der Tutorialreihe zu RevoScaleR. In diesem Tutorial erfahren Sie, wie Sie RevoScaleR-Funktionen mit SQL Server verwenden.
In diesem Tutorial erfahren Sie, wie Sie Daten von SQL Server abrufen und anschließend die Funktion rxImport verwenden, um die gewünschten Daten in eine lokale Datei einzufügen. Auf diese Weise können Sie sie wiederholt im lokalen Computekontext analysieren, ohne die Datenbank erneut abfragen zu müssen.
Mithilfe der rxImport-Funktion können Daten aus einer Datenquelle in einen Datenrahmen im Arbeitsspeicher einer Sitzung oder in eine XDF-Datei auf einem Datenträger verschoben werden. Wenn Sie keine Datei als Ziel angeben, werden die Daten als Datenrahmen in den Arbeitsspeicher abgelegt.
Extrahieren einer Teilmenge von Daten von SQL Server in den lokalen Arbeitsspeicher
Sie haben sich dazu entschieden, nur die Hochrisikopersonen genauer zu untersuchen. Die Quelltabelle in SQL Server ist groß, weshalb Sie nur die Informationen zu den Hochrisikokunden extrahieren möchten. Anschließend laden Sie diese Daten in einen Datenrahmen im Arbeitsspeicher der lokalen Arbeitsstation.
Setzen Sie den Computekontext zurück auf die lokale Arbeitsstation.
rxSetComputeContext("local")Erstellen Sie ein neues SQL Server-Datenquellenobjekt, indem Sie eine gültige SQL-Anweisung im sqlQuery -Parameter bereitstellen. In diesem Beispiel wird eine Teilmenge der Beobachtungen mit den höchsten Risikobewertungen abgerufen. Auf diese Weise werden nur die wirklich benötigten Daten im lokalen Arbeitsspeicher abgelegt.
sqlServerProbDS \<- RxSqlServerData( sqlQuery = paste("SELECT * FROM ccScoreOutput2", "WHERE (ccFraudProb > .99)"), connectionString = sqlConnString)Rufen Sie die Funktion rxImport auf, um die Daten in einen Datenrahmen in der lokalen R-Sitzung zu lesen.
highRisk <- rxImport(sqlServerProbDS)Wenn der Vorgang erfolgreich war, sollte eine Statusmeldung wie die folgende angezeigt werden: „Gelesene Zeilen: 35, gesamte verarbeitete Zeilen: 35, gesamte Blockzeit: 0,036 Sekunden“
Da sich nun die risikoreichsten Beobachtungen in einem Datenrahmen im Arbeitsspeicher befinden, können Sie verschiedene R-Funktionen verwenden, um den Datenrahmen zu bearbeiten. Sie können Kunden z. B. nach ihrer Risikobewertung sortieren und eine Liste der Kunden ausgeben, die das größte Risiko darstellen.
orderedHighRisk <- highRisk[order(-highRisk$ccFraudProb),] row.names(orderedHighRisk) <- NULL head(orderedHighRisk)
Ergebnisse
ccFraudLogitScore state gender cardholder balance numTrans numIntlTrans creditLine ccFraudProb1
9.786345 SD Male Principal 23456 25 5 75 0.99994382
9.433040 FL Female Principal 20629 24 28 75 0.99992003
8.556785 NY Female Principal 19064 82 53 43 0.99980784
8.188668 AZ Female Principal 19948 29 0 75 0.99972235
7.551699 NY Female Principal 11051 95 0 75 0.99947516
7.335080 NV Male Principal 21566 4 6 75 0.9993482
Weitere Informationen zu rxImport
Sie können rxImport nicht nur zum Verschieben von Daten verwenden, sondern auch, um Daten während des Auslesens zu transformieren. Beispielsweise können Sie die Anzahl von Zeichen für Spalten mit fester Breite angeben, eine Beschreibung der Variablen bereitstellen, Ebenen für Faktorspalten festlegen und sogar neue Ebenen für die Verwendung nach dem Import erstellen.
Die rxImport-Funktion weist den Spalten während des Importprozesses Variablennamen zu. Sie können jedoch neue Variablennamen angeben, indem Sie den Parameter colInfo verwenden oder Datentypen ändern, indem Sie den Parameter colClasses verwenden.
Durch die Angabe zusätzlicher Vorgänge im Parameter transforms können Sie jeden Datenblock, der gelesen wird, elementar verarbeiten.