Freigeben über


Laden von Daten in den Arbeitsspeicher mithilfe von rxImport (SQL Server- und RevoScaleR-Tutorial)

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.

  1. Setzen Sie den Computekontext zurück auf die lokale Arbeitsstation.

    rxSetComputeContext("local")
    
  2. 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)
    
  3. 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“

  4. 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.

Nächste Schritte