Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru
Ini adalah tutorial 5 dari seri tutorial RevoScaleR tentang cara menggunakan fungsi RevoScaleR dengan SQL Server.
Tutorial ini menggunakan sumber data dan konteks komputasi yang dibuat dalam tutorial sebelumnya untuk menjalankan skrip R bertenaga tinggi. Dalam tutorial ini, Anda akan menggunakan konteks komputasi server lokal dan jarak jauh untuk tugas-tugas berikut:
- Mengalihkan konteks komputasi ke SQL Server
- Mendapatkan statistik ringkasan pada objek data jarak jauh
- Menghitung ringkasan lokal
Jika Anda menyelesaikan tutorial sebelumnya, Anda harus memiliki konteks komputasi jarak jauh ini: sqlCompute dan sqlComputeTrace. Ke depannya, Anda akan menggunakan sqlCompute dan konteks komputasi lokal dalam tutorial berikutnya.
Gunakan IDE R atau Rgui untuk menjalankan skrip R dalam tutorial ini.
Statistik ringkasan komputasi pada data jarak jauh
Sebelum dapat menjalankan kode R dari jarak jauh, Anda perlu menentukan konteks komputasi jarak jauh. Semua komputasi berikutnya terjadi pada komputer SQL Server yang ditentukan dalam parameter sqlCompute .
Konteks komputasi tetap aktif hingga Anda mengubahnya. Namun, skrip R apa pun yang tidak dapat berjalan dalam konteks server jarak jauh akan secara otomatis berjalan secara lokal.
Untuk melihat cara kerja konteks komputasi, hasilkan statistik ringkasan pada sumber data sqlFraudDS di SQL Server jarak jauh. Objek sumber data ini dibuat dalam tutorial dua dan mewakili tabel ccFraudSmall dalam database RevoDeepDive.
Alihkan konteks komputasi ke sqlCompute yang dibuat dalam tutorial sebelumnya:
rxSetComputeContext(sqlCompute)Panggil fungsi rxSummary dan berikan argumen yang diperlukan, seperti rumus dan sumber data, dan tetapkan hasilnya ke variabel
sumOut.sumOut <- rxSummary(formula = ~gender + balance + numTrans + numIntlTrans + creditLine, data = sqlFraudDS)Bahasa R menyediakan banyak fungsi ringkasan, tetapi rxSummary di RevoScaleR mendukung eksekusi pada berbagai konteks komputasi jarak jauh, termasuk SQL Server. Untuk informasi tentang fungsi serupa, lihat Ringkasan data menggunakan RevoScaleR.
Cetak konten sumOut ke konsol.
sumOutCatatan
Jika Anda mendapatkan kesalahan, tunggu beberapa menit hingga eksekusi selesai sebelum mencoba kembali perintah.
Hasil
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
Membuat ringkasan lokal
Ubah konteks komputasi untuk melakukan semua pekerjaan Anda secara lokal.
rxSetComputeContext ("local")Saat mengekstrak data dari SQL Server, Anda sering kali bisa mendapatkan performa yang lebih baik dengan meningkatkan jumlah baris yang diekstrak untuk setiap bacaan, dengan asumsi peningkatan ukuran blok dapat diakomodasi dalam memori. Jalankan perintah berikut untuk meningkatkan nilai parameter rowsPerRead pada sumber data. Sebelumnya, nilai rowsPerRead diatur ke 5000.
sqlServerDS1 <- RxSqlServerData( connectionString = sqlConnString, table = sqlFraudTable, colInfo = ccColInfo, rowsPerRead = 10000)Panggil rxSummary pada sumber data baru.
rxSummary(formula = ~gender + balance + numTrans + numIntlTrans + creditLine, data = sqlServerDS1)Hasil aktual harus sama seperti ketika Anda menjalankan rxSummary dalam konteks komputer SQL Server. Namun, operasi mungkin lebih cepat atau lebih lambat. Banyak tergantung pada koneksi ke database Anda, karena data sedang ditransfer ke komputer lokal Anda untuk dianalisis.
Beralih kembali ke konteks komputasi jarak jauh untuk beberapa tutorial berikutnya.
rxSetComputeContext(sqlCompute)