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 13. 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 eine XDF-Datei zum Übertragen von Daten zwischen Remote- und lokalen Computekontexten verwenden. Durch das Speichern der Daten in einer XDF-Datei können Sie Transformationen für die Daten durchführen.
Verwenden Sie die Daten in der Datei, um eine neue SQL Server-Tabelle zu erstellen, wenn Sie fertig sind. Die rxDataStep-Funktion kann Transformationen auf die Daten anwenden und die Konvertierung zwischen Datenrahmen und XDF-Dateien durchführen.
Erstellen einer SQL Server-Tabelle aus einer XDF-Datei
Verwenden Sie für diese Übung wieder die Kreditkartenbetrugsdaten. In diesem Szenario wurden Sie gebeten, zusätzliche Analysen für Benutzer in den US-Bundesstaaten Kalifornien, Oregon und Washington durchzuführen. Aus Effizienzgründen haben Sie sich dazu entschieden, nur Daten für diese Bundesländer auf Ihrem lokalen Computer zu speichern und nur mit den Variablen „gender“ (Geschlecht), „cardholder“ (Karteninhaber/in), „state“ (Bundesland) und „balance“ (Kontostand) zu arbeiten.
Verwenden Sie erneut die zuvor erstellte Variable
stateAbbzum Identifizieren der einzuschließenden Ebenen, und schreiben Sie diese in die neue VariablestatesToKeep.statesToKeep <- sapply(c("CA", "OR", "WA"), grep, stateAbb) statesToKeepErgebnisse
CA oder WA 5 38 48 Definieren Sie die Daten, die mithilfe einer Transact-SQL-Abfrage von SQL Server übermittelt werden sollen. Später verwenden Sie diese Variable als inData-Argument für rxImport.
importQuery <- paste("SELECT gender,cardholder,balance,state FROM", sqlFraudTable, "WHERE (state = 5 OR state = 38 OR state = 48)")Stellen Sie sicher, dass keine ausgeblendeten Zeichen, wie z. B. Zeilenvorschübe oder Registerkarten, in der Abfrage vorhanden sind.
Als nächstes definieren Sie die Spalten, die beim Arbeiten mit den Daten in R verwendet werden sollen. Im kleineren Dataset benötigen Sie beispielsweise nur drei Faktorenebenen, da die Abfrage nur Daten für drei Bundesländer zurückgibt. Wenden Sie die
statesToKeep-Variable an, um die richtigen Ebenen zu identifizieren, die eingeschlossen werden sollen.importColInfo <- list( gender = list( type = "factor", levels = c("1", "2"), newLevels = c("Male", "Female")), cardholder = list( type = "factor", levels = c("1", "2"), newLevels = c("Principal", "Secondary")), state = list( type = "factor", levels = as.character(statesToKeep), newLevels = names(statesToKeep)) )Legen Sie den Computekontext auf local fest, da Sie möchten, dass alle Daten auf Ihrem lokalen Computer verfügbar sind.
rxSetComputeContext("local")Mit der Funktion rxImport-Funktion können Sie Daten aus einer beliebigen unterstützten Datenquelle in eine lokale XDF-Datei importieren. Die Verwendung einer lokalen Kopie der Daten eignet sich dann, wenn Sie viele verschiedene Analysen der Daten durchführen, aber die wiederholte Ausführung der gleichen Abfrage vermeiden möchten.
Erstellen Sie das Datenquellenobjekt, indem Sie die zuvor als Argumente definierten Variablen an RxSqlServerData übergeben.
sqlServerImportDS <- RxSqlServerData( connectionString = sqlConnString, sqlQuery = importQuery, colInfo = importColInfo)Rufen Sie rxImport auf, um die Daten im aktuellen Arbeitsverzeichnis in einer Datei namens
ccFraudSub.xdfzu speichern.localDS <- rxImport(inData = sqlServerImportDS, outFile = "ccFraudSub.xdf", overwrite = TRUE)Das von der rxImport-Funktion zurückgegebene Objekt
localDsist ein kompaktes RxXdfData-Datenquellenobjekt, das die lokal auf dem Datenträger gespeicherteccFraud.xdf-Datendatei darstellt.Rufen Sie rxGetVarInfo für die XDF-Datei auf, um zu überprüfen, ob das Schema identisch ist.
rxGetVarInfo(data = localDS)Ergebnisse
rxGetVarInfo(data = localDS) Var 1: gender, Type: factor, no factor levels available Var 2: cardholder, Type: factor, no factor levels available Var 3: balance, Type: integer, Low/High: (0, 22463) Var 4: state, Type: factor, no factor levels availableSie können nun verschiedene R-Funktionen aufrufen, um das localDs-Objekt so wie die Quelldaten in SQL Server zu analysieren. Sie können beispielsweise nach Geschlecht zusammenfassen:
rxSummary(~gender + cardholder + balance + state, data = localDS)
Nächste Schritte
Dieses Tutorial schließt das mehrteilige Tutorial zu RevoScaleR und SQL Server ab. Es wurden zahlreiche datenbezogene Konzepte und Berechnungskonzepte vorgestellt, mit denen Sie Ihre eigenen Daten- und Projektanforderungen erfüllen können.
Sie können zur R-Tutorialsliste zurückkehren und nicht absolvierte Übungen schrittweise durcharbeiten, um so Ihr Wissen über RevoScaleR zu vertiefen. Alternativ finden Sie weitere Informationen zu allgemeinen Aufgaben in den Artikeln zur Vorgehensweise im Inhaltsverzeichnis.