Tahukah Anda bahwa Anda dapat mengeksekusi kode R dan Python secara jarak jauh di SQL Server dari Jupyter Notebooks atau IDE apa pun? Machine Learning Services di SQL Server menghilangkan kebutuhan untuk memindahkan data. Alih-alih mentransfer data yang besar dan sensitif melalui jaringan atau kehilangan akurasi saat pelatihan ML dengan file csv sampel, Anda dapat mengeksekusi kode R/Python di dalam basis data Anda. Anda dapat bekerja di Jupyter Notebooks, RStudio, PyCharm, VSCode, Visual Studio, di mana pun Anda mau, lalu mengirim eksekusi fungsi ke SQL Server sehingga kecerdasan berada di tempat data Anda berada.
Tutorial ini akan menunjukkan contoh bagaimana Anda dapat mengirim kode python dari Juptyter notebooks untuk dieksekusi di dalam SQL Server. Prinsip yang sama juga berlaku untuk R dan IDE lainnya. Jika Anda lebih suka belajar melalui video, tutorial ini juga diterbitkan di YouTube di sini:
Agar R atau Python dapat dieksekusi di dalam SQL, Anda terlebih dahulu memerlukan fitur Machine Learning Services yang terpasang dan dikonfigurasi. Lihat panduan cara ini.
2. Instal RevoscalePy melalui Klien Python Microsoft
Untuk mengirim eksekusi Python ke SQL dari Jupyter Notebooks, Anda perlu menggunakan paket RevoscalePy dari Microsoft. Untuk mendapatkan RevoscalePy, unduh dan instal Microsoft ML Services Python Client. Halaman Dokumentasi atau Tautan Unduhan Langsung (untuk Windows).
Setelah mengunduh, buka powershell sebagai administrator dan navigasikan ke folder unduhan. Mulai instalasi dengan perintah ini (silakan sesuaikan folder instalasi): .\Install-PyForMLS.ps1 -InstallFolder "C:\Program Files\MicrosoftPythonClient"
Harap bersabar karena proses instalasi bisa memakan waktu. Setelah terpasang, navigasikan ke path baru tempat Anda menginstal. Mari buat folder kosong dan buka Jupyter Notebooks: mkdir JupyterNotebooks; cd JupyterNotebooks; ..\Scripts\jupyter-notebook
Buat notebook baru dengan interpreter Python 3:
Untuk menguji apakah semuanya sudah siap, impor revoscalepy di sel pertama dan eksekusi. Jika tidak ada pesan kesalahan, Anda siap melanjutkan.
Penyiapan Basis Data (Diperlukan hanya untuk tutorial ini)
Untuk sisa tutorial, Anda dapat mengkloning Jupyter Notebook ini dari Github jika Anda tidak ingin menyalin dan menempelkan semua kode. Penyiapan basis data ini adalah langkah satu kali untuk memastikan Anda memiliki data yang sama seperti di tutorial ini. Anda tidak perlu melakukan langkah penyiapan ini untuk menggunakan data Anda sendiri.
1. Buat basis data
Ubah connection string untuk server Anda dan gunakan pyodbc untuk membuat basis data baru.
import pyodbc
# creating a new db to load Iris sample in
new_db_name ="MLRemoteExec"
connection_string ="Driver=SQL Server;Server=localhost\MSSQLSERVER2017;Database={0};Trusted_Connection=Yes;"
cnxn = pyodbc.connect(connection_string.format("master"), autocommit=True)
cnxn.cursor().execute("IF EXISTS(SELECT * FROM sys.databases WHERE [name] = '{0}') DROP DATABASE {0}".format(new_db_name))
cnxn.cursor().execute("CREATE DATABASE "+ new_db_name)
cnxn.close()print("Database created")Didukung oleh
2. Impor sampel Iris dari SkLearn
Iris adalah dataset populer untuk tutorial ilmu data pemula. Dataset ini disertakan secara default dalam paket sklearn.
from sklearn import datasets
import pandas as pd
# SkLearn has the Iris sample dataset built into the package
iris = datasets.load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)Didukung oleh
3. Gunakan API RecoscalePy untuk membuat tabel dan memuat data Iris
(Anda juga dapat melakukannya dengan pyodbc, sqlalchemy, atau paket lainnya)
from revoscalepy import RxSqlServerData, rx_data_step
# Example of using RX APIs to load data into SQL table. You can also do this with pyodbc
table_ref = RxSqlServerData(connection_string=connection_string.format(new_db_name), table="Iris")
rx_data_step(input_data = df, output_file = table_ref, overwrite =True)print("New Table Created: Iris")print("Sklearn Iris sample loaded into Iris table")Didukung oleh
Tentukan Fungsi untuk Dikirim ke SQL Server
Tulis kode python apa pun yang ingin Anda eksekusi di SQL. Dalam contoh ini, kita membuat scatter matrix pada dataset iris dan hanya mengembalikan bytestream dari .png kembali ke Jupyter Notebooks untuk dirender di klien kita.
defsend_this_func_to_sql():from revoscalepy import RxSqlServerData, rx_import
from pandas.tools.plotting import scatter_matrix
import matplotlib.pyplot as plt
import io
# remember the scope of the variables in this func are within our SQL Server Python Runtime
connection_string ="Driver=SQL Server;Server=localhost\MSSQLSERVER2017;Database=MLRemoteExec;Trusted_Connection=Yes;"# specify a query and load into pandas dataframe df
sql_query = RxSqlServerData(connection_string=connection_string, sql_query ="select * from Iris")
df = rx_import(sql_query)
scatter_matrix(df)# return bytestream of image created by scatter_matrix
buf = io.BytesIO()
plt.savefig(buf,format="png")
buf.seek(0)return buf.getvalue()Didukung oleh
Kirim Eksekusi ke SQL
Sekarang setelah semuanya siap, lihat betapa mudahnya mengirim eksekusi jarak jauh! Pertama, import revoscalepy. Buat sql_compute_context, lalu kirim eksekusi fungsi apa pun ke SQL Server secara mulus dengan RxExec. Tidak ada data mentah yang harus ditransfer dari SQL ke Jupyter Notebook. Semua komputasi terjadi di dalam basis data, dan hanya berkas gambar yang dikembalikan untuk ditampilkan.
from IPython import display
import matplotlib.pyplot as plt
from revoscalepy import RxInSqlServer, rx_exec
# create a remote compute context with connection to SQL Server
sql_compute_context = RxInSqlServer(connection_string=connection_string.format(new_db_name))# use rx_exec to send the function execution to SQL Server
image = rx_exec(send_this_func_to_sql, compute_context=sql_compute_context)[0]# only an image was returned to my jupyter client. All data remained secure and was manipulated in my db.
display.Image(data=image)Didukung oleh
Walaupun contoh ini sederhana dengan dataset Iris, bayangkan skala, performa, dan kapabilitas keamanan tambahan yang kini Anda buka. Anda dapat menggunakan paket R/Python open source terbaru untuk membangun aplikasi Deep Learning dan AI pada data dalam jumlah besar di SQL Server. Kami juga menawarkan algoritme terdepan berkinerja tinggi dalam API RevoScaleR dan RevoScalePy milik Microsoft. Menggunakan ini bersama inovasi terbaru di dunia open source memungkinkan Anda menghadirkan pilihan, performa, dan skala yang tak tertandingi ke aplikasi Anda.
Lihat Dokumentasi SQL Machine Learning Services untuk mempelajari bagaimana Anda dapat dengan mudah menerapkan kode R/Python dengan stored procedure SQL sehingga dapat diakses dalam proses ETL Anda atau oleh aplikasi apa pun. Latih dan simpan model machine learning di basis data Anda sehingga kecerdasan berada di tempat data Anda berada.
Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Selami ilmu data dengan Python dan pelajari cara menganalisis serta memvisualisasikan data Anda secara efektif. Tak perlu pengalaman atau keterampilan coding.
Pelajari cara menggunakan SQL Server untuk melakukan tugas manipulasi data umum dan kuasai tugas manipulasi data umum menggunakan sistem basis data ini.
Pendahuluan
Tahukah Anda bahwa Anda dapat mengeksekusi kode R dan Python secara jarak jauh di SQL Server dari Jupyter Notebooks atau IDE apa pun? Machine Learning Services di SQL Server menghilangkan kebutuhan untuk memindahkan data. Alih-alih mentransfer data yang besar dan sensitif melalui jaringan atau kehilangan akurasi saat pelatihan ML dengan file csv sampel, Anda dapat mengeksekusi kode R/Python di dalam basis data Anda. Anda dapat bekerja di Jupyter Notebooks, RStudio, PyCharm, VSCode, Visual Studio, di mana pun Anda mau, lalu mengirim eksekusi fungsi ke SQL Server sehingga kecerdasan berada di tempat data Anda berada.
Tutorial ini akan menunjukkan contoh bagaimana Anda dapat mengirim kode python dari Juptyter notebooks untuk dieksekusi di dalam SQL Server. Prinsip yang sama juga berlaku untuk R dan IDE lainnya. Jika Anda lebih suka belajar melalui video, tutorial ini juga diterbitkan di YouTube di sini:
https://youtu.be/D5erljpJDjE
Prasyarat Penyiapan Lingkungan
1. Instal ML Services di SQL Server
Agar R atau Python dapat dieksekusi di dalam SQL, Anda terlebih dahulu memerlukan fitur Machine Learning Services yang terpasang dan dikonfigurasi. Lihat panduan cara ini.
2. Instal RevoscalePy melalui Klien Python Microsoft
Untuk mengirim eksekusi Python ke SQL dari Jupyter Notebooks, Anda perlu menggunakan paket RevoscalePy dari Microsoft. Untuk mendapatkan RevoscalePy, unduh dan instal Microsoft ML Services Python Client. Halaman Dokumentasi atau Tautan Unduhan Langsung (untuk Windows).
Setelah mengunduh, buka powershell sebagai administrator dan navigasikan ke folder unduhan. Mulai instalasi dengan perintah ini (silakan sesuaikan folder instalasi):
.\Install-PyForMLS.ps1 -InstallFolder "C:\Program Files\MicrosoftPythonClient"Harap bersabar karena proses instalasi bisa memakan waktu. Setelah terpasang, navigasikan ke path baru tempat Anda menginstal. Mari buat folder kosong dan buka Jupyter Notebooks:
mkdir JupyterNotebooks; cd JupyterNotebooks; ..\Scripts\jupyter-notebookBuat notebook baru dengan interpreter Python 3:
Untuk menguji apakah semuanya sudah siap, impor revoscalepy di sel pertama dan eksekusi. Jika tidak ada pesan kesalahan, Anda siap melanjutkan.
Penyiapan Basis Data (Diperlukan hanya untuk tutorial ini)
Untuk sisa tutorial, Anda dapat mengkloning Jupyter Notebook ini dari Github jika Anda tidak ingin menyalin dan menempelkan semua kode. Penyiapan basis data ini adalah langkah satu kali untuk memastikan Anda memiliki data yang sama seperti di tutorial ini. Anda tidak perlu melakukan langkah penyiapan ini untuk menggunakan data Anda sendiri.
1. Buat basis data
Ubah connection string untuk server Anda dan gunakan pyodbc untuk membuat basis data baru.
2. Impor sampel Iris dari SkLearn
Iris adalah dataset populer untuk tutorial ilmu data pemula. Dataset ini disertakan secara default dalam paket sklearn.
3. Gunakan API RecoscalePy untuk membuat tabel dan memuat data Iris
(Anda juga dapat melakukannya dengan pyodbc, sqlalchemy, atau paket lainnya)
Tentukan Fungsi untuk Dikirim ke SQL Server
Tulis kode python apa pun yang ingin Anda eksekusi di SQL. Dalam contoh ini, kita membuat scatter matrix pada dataset iris dan hanya mengembalikan bytestream dari .png kembali ke Jupyter Notebooks untuk dirender di klien kita.
Kirim Eksekusi ke SQL
Sekarang setelah semuanya siap, lihat betapa mudahnya mengirim eksekusi jarak jauh! Pertama,
import revoscalepy. Buatsql_compute_context, lalu kirim eksekusi fungsi apa pun ke SQL Server secara mulus denganRxExec. Tidak ada data mentah yang harus ditransfer dari SQL ke Jupyter Notebook. Semua komputasi terjadi di dalam basis data, dan hanya berkas gambar yang dikembalikan untuk ditampilkan.Walaupun contoh ini sederhana dengan dataset Iris, bayangkan skala, performa, dan kapabilitas keamanan tambahan yang kini Anda buka. Anda dapat menggunakan paket R/Python open source terbaru untuk membangun aplikasi Deep Learning dan AI pada data dalam jumlah besar di SQL Server. Kami juga menawarkan algoritme terdepan berkinerja tinggi dalam API RevoScaleR dan RevoScalePy milik Microsoft. Menggunakan ini bersama inovasi terbaru di dunia open source memungkinkan Anda menghadirkan pilihan, performa, dan skala yang tak tertandingi ke aplikasi Anda.
Pelajari Lebih Lanjut
Lihat tutorial DataCamp tentang Cara Mengeksekusi Python/R di SQL.
Lihat Dokumentasi SQL Machine Learning Services untuk mempelajari bagaimana Anda dapat dengan mudah menerapkan kode R/Python dengan stored procedure SQL sehingga dapat diakses dalam proses ETL Anda atau oleh aplikasi apa pun. Latih dan simpan model machine learning di basis data Anda sehingga kecerdasan berada di tempat data Anda berada.
Eksekusi R dan Python Dasar di SQL Server: https://aka.ms/BasicMLServicesExecution
Menyiapkan Machine Learning Services di SQL Server: https://aka.ms/SetupMLServices
Solusi tutorial end-to-end di Github: https://microsoft.github.io/sql-ml-tutorials/
Tutorial YouTube lainnya:
Jika Anda tertarik untuk belajar lebih jauh, lihat kursus pengantar dari DataCamp.