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 5. tutoriál ze série RevoScaleR o tom, jak používat funkce RevoScaleR se SQL Server.
Tento tutoriál využívá zavedené datové zdroje a výpočetní kontexty vytvořené v předchozích tutoriálech k provozu výkonných R skriptů. V tomto tutoriálu budete používat lokální a vzdálené serverové výpočetní kontexty pro následující úkoly:
- Přepněte výpočetní kontext na SQL Server
- Získejte souhrnné statistiky o vzdálených datových objektech
- Vypočíte lokální shrnutí
Pokud jste dokončili předchozí tutoriály, měli byste mít tyto vzdálené výpočetní kontexty: sqlCompute a sqlComputeTrace. Do budoucna budete používat will sqlCompute a lokální výpočetní kontext v dalších tutoriálech.
Použijte R IDE nebo RGUI pro spuštění R skriptu v tomto tutoriálu.
Vypočítejte souhrnné statistiky na vzdálených datech
Než můžete vzdáleně spustit jakýkoli R kód, musíte specifikovat vzdálený výpočetní kontext. Všechny následující výpočty probíhají na počítači SQL Server specifikovaném v parametru sqlCompute.
Výpočetní kontext zůstává aktivní, dokud ho nezměníte. Nicméně všechny R skripty, které nemohou běžet v kontextu vzdáleného serveru, se automaticky spustí lokálně.
Chcete-li zjistit, jak výpočetní kontext funguje, vygenerujte souhrnné statistiky na zdroji dat sqlFraudDS na vzdáleném SQL Server. Tento objekt datového zdroje byl vytvořen v tutoriálu dva a představuje tabulku ccFraudSmall v databázi RevoDeepDive.
Přepněte výpočetní kontext na sqlCompute vytvořený v předchozím tutoriálu:
rxSetComputeContext(sqlCompute)Zavolejte funkci rxSummary a předejte požadované argumenty, jako je vzorec a datový zdroj, a přiřaďte výsledky proměnné
sumOut.sumOut <- rxSummary(formula = ~gender + balance + numTrans + numIntlTrans + creditLine, data = sqlFraudDS)Jazyk R poskytuje mnoho souhrnných funkcí, ale rxSummary v RevoScaleR podporuje provádění v různých vzdálených výpočetních kontextech, včetně SQL Server. Pro informace o podobných funkcích viz Data summaries using RevoScaleR.
Vytiskněte obsah sumOut do konzole.
sumOutPoznámka:
Pokud se zobrazí chyba, počkejte několik minut, než se provádění dokončí, a teprve poté příkaz spusťte znovu.
Results
Summary Statistics Results for: ~gender + balance + numTrans + numIntlTrans + creditLine
Data: sqlFraudDS (RxSqlServerData Data Source)
Number of valid observations: 10000
Name Mean StdDev Min Max ValidObs MissingObs
balance 4075.0318 3926.558714 0 25626 100000
numTrans 29.1061 26.619923 0 100 10000 0 100000
numIntlTrans 4.0868 8.726757 0 60 10000 0 100000
creditLine 9.1856 9.870364 1 75 10000 0 100000
Category Counts for gender
Number of categories: 2
Number of valid observations: 10000
Number of missing observations: 0
gender Counts
Male 6154
Female 3846
Vytvořte místní shrnutí
Změňte výpočetní kontext tak, abyste veškerou práci dělali lokálně.
rxSetComputeContext ("local")Při extrakci dat z SQL Serveru můžete často dosáhnout lepšího výkonu zvýšením počtu řádků načítaných při každém čtení, za předpokladu, že se zvětšená velikost bloku vejde do paměti. Spusť následující příkaz pro zvýšení hodnoty parametru rowsPerRead na datovém zdroji. Dříve byla hodnota rowsPerRead nastavena na 5000.
sqlServerDS1 <- RxSqlServerData( connectionString = sqlConnString, table = sqlFraudTable, colInfo = ccColInfo, rowsPerRead = 10000)Zavolejte metodu rxSummary u nového zdroje dat.
rxSummary(formula = ~gender + balance + numTrans + numIntlTrans + creditLine, data = sqlServerDS1)Skutečné výsledky by měly být stejné jako při spuštění rxSummary v kontextu počítače SQL Server. Operace však může být rychlejší nebo pomalejší. Hodně záleží na připojení k databázi, protože data jsou přenášena na váš lokální počítač k analýze.
Přepněte zpět na vzdálený výpočetní kontext pro několik dalších tutoriálů.
rxSetComputeContext(sqlCompute)