Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server 2016 (13.x) i nowsze wersje
To jest trzynasty samouczek z serii tutoriali RevoScaleR, jak korzystać z funkcji RevoScaleR z SQL Server.
W tym samouczku nauczysz się, jak używać pliku XDF do przesyłania danych między zdalnym a lokalnym kontekstem obliczeniowym. Przechowywanie danych w pliku XDF pozwala na przeprowadzanie transformacji na danych.
Po zakończeniu użycia danych z pliku utworzysz nową tabelę SQL Server. Funkcja rxDataStep może stosować przekształcenia do danych oraz wykonywać konwersję między ramkami danych a plikami .xdf.
Utworzenie tabeli SQL Server z pliku XDF
W tym ćwiczeniu ponownie używasz danych o oszustwach kart kredytowych. W tym scenariuszu poproszono cię o dodatkowe analizy użytkowników w stanach Kalifornia, Oregon i Waszyngton. Aby być bardziej efektywnym, postanowiłeś przechowywać dane tylko dla tych stanów na swoim komputerze lokalnym i pracować tylko ze zmiennymi: płeć, posiadacz karty, stan i saldo.
Ponownie użyj zmiennej, którą
stateAbbwcześniej stworzyłeś, aby zidentyfikować poziomy do uwzględnienia i zapisz je do nowej zmiennej,statesToKeep.statesToKeep <- sapply(c("CA", "OR", "WA"), grep, stateAbb) statesToKeepResults
urząd certyfikacji OR WA 5 38 48 Zdefiniuj dane, które chcesz przenieść z SQL Server, używając zapytania Transact-SQL. Później używasz tej zmiennej jako argumentu inData dla rxImport.
importQuery <- paste("SELECT gender,cardholder,balance,state FROM", sqlFraudTable, "WHERE (state = 5 OR state = 38 OR state = 48)")Upewnij się, że w zapytaniu nie ma ukrytych znaków, takich jak znaki nowego wiersza lub tabulatory.
Następnie zdefiniuj kolumny, których używasz podczas pracy z danymi w R. Na przykład w mniejszym zbiorze danych potrzebne są tylko poziomy trzech czynników, ponieważ zapytanie zwraca dane tylko dla trzech stanów. Zastosuj zmienną
statesToKeep, aby zidentyfikować odpowiednie poziomy do uwzględnienia.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)) )Ustaw kontekst obliczeniowy na lokalny, ponieważ chcesz, aby wszystkie dane były dostępne na twoim komputerze lokalnym.
rxSetComputeContext("local")Funkcja rxImport może importować dane z dowolnego obsługiwanego źródła danych do lokalnego pliku XDF. Korzystanie z lokalnej kopii danych jest wygodne, gdy chcesz przeprowadzić wiele różnych analiz, ale chcesz uniknąć ciągłego uruchamiania tego samego zapytania.
Utwórz obiekt źródła danych, przekazując zmienne wcześniej zdefiniowane jako argumenty do RxSqlServerData.
sqlServerImportDS <- RxSqlServerData( connectionString = sqlConnString, sqlQuery = importQuery, colInfo = importColInfo)Wywołaj rxImport , aby zapisać dane do pliku o nazwie
ccFraudSub.xdf, w aktualnym katalogu roboczym.localDS <- rxImport(inData = sqlServerImportDS, outFile = "ccFraudSub.xdf", overwrite = TRUE)Obiekt zwracany
localDsprzez funkcję rxImport to lekki obiekt źródłowy RxXdfData , który reprezentuje plik danych przechowywanyccFraud.xdflokalnie na dysku.Wywołaj rxGetVarInfo dla pliku XDF, aby sprawdzić, czy schemat danych jest taki sam.
rxGetVarInfo(data = localDS)Results
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 availableTeraz możesz wywoływać różne funkcje R, aby analizować obiekt localDS, tak jak robisz to z danymi źródłowymi w SQL Server. Na przykład można podsumować według płci:
rxSummary(~gender + cardholder + balance + state, data = localDS)
Następny krok
Ten samouczek kończy wieloczęściową serię tutoriali na temat RevoScaleR i SQL Server. Wprowadziło cię w liczne koncepcje związane z danymi i obliczeniami, dając podstawę do realizacji własnych wymagań dotyczących danych i projektów.
Aby pogłębić swoją wiedzę o RevoScaleR, możesz wrócić do listy tutoriali R, aby przejść przez ćwiczenia, które mogłeś pominąć. Alternatywnie, zapoznaj się z artykułami instruktażowymi w spisie treści, aby uzyskać informacje o ogólnych zadaniach.