Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro: SQL Server 2016 (13.x) a novější verze
Toto je desátý tutoriál ze série RevoScaleR o tom, jak používat funkce RevoScaleR se SQL Server.
V tomto tutoriálu se naučíte, jak získat data ze SQL Server a poté pomocí funkce rxImport uložit data do lokálního souboru. Tímto způsobem ji můžete opakovaně analyzovat v lokálním výpočetním kontextu, aniž byste museli znovu dotazovat databázi.
Funkce rxImport může být použita k přesunu dat ze zdroje do datového rámce v paměťové relaci nebo do souboru XDF na disku. Pokud nespecifikujete soubor jako cíl, data se uloží do paměti jako datový rámec.
Extrahujte podmnožinu dat ze SQL Server do lokální paměti
Rozhodli jste se, že chcete podrobněji zkoumat pouze osoby s vysokým rizikem. Zdrojová tabulka v SQL Server je velká, takže chcete získat informace pouze o klientech s vysokým rizikem. Poté tato data načtete do datového rámce v paměti lokální pracovní stanice.
Resetujte výpočetní kontext na svou lokální pracovní stanici.
rxSetComputeContext("local")Vytvořte nový zdrojový objekt SQL Server, který poskytne platný SQL příkaz v parametru sqlQuery. Tento příklad vrací podmnožinu pozorování s nejvyšším skóre rizika. Tím pádem se do lokální paměti uloží jen ta data, která opravdu potřebujete.
sqlServerProbDS \<- RxSqlServerData( sqlQuery = paste("SELECT * FROM ccScoreOutput2", "WHERE (ccFraudProb > .99)"), connectionString = sqlConnString)Zavolejte funkci rxImport pro načtení dat do datového rámce v lokální relaci R.
highRisk <- rxImport(sqlServerProbDS)Pokud byla operace úspěšná, měli byste vidět stavovou zprávu jako tato: "Řádky přečteny: 35, Celkový počet zpracovaných řádků: 35, Celkový čas bloku: 0,036 sekundy"
Nyní, když jsou vysoce riziková pozorování v datovém rámci v paměti, můžete použít různé R funkce k manipulaci s datovým rámcem. Například můžete seřadit zákazníky podle jejich rizikového skóre a vytisknout seznam těch, kteří představují nejvyšší riziko.
orderedHighRisk <- highRisk[order(-highRisk$ccFraudProb),] row.names(orderedHighRisk) <- NULL head(orderedHighRisk)
Results
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
Více o rxImport
RxImport můžete použít nejen k přesunu dat, ale i k jejich transformaci při jejich čtení. Například můžete zadat počet znaků pro sloupce s pevnou šířkou, poskytnout popis proměnných, nastavit úrovně pro sloupce faktorů a dokonce vytvořit nové úrovně pro použití po importu.
Funkce rxImport přiřazuje sloupcům názvy proměnných během importu, ale nové názvy proměnných můžete označit pomocí parametru colInfo nebo měnit datové typy pomocí parametru colClasses .
Specifikací dalších operací v parametru transformace můžete provádět elementární zpracování na každém načteném datovém bloku.