क्या आप जानते हैं कि आप Jupyter Notebooks या किसी भी IDE से SQL Server में R और Python कोड रिमोटली चला सकते हैं? SQL Server में Machine Learning Services डेटा को इधर-उधर ले जाने की आवश्यकता खत्म कर देता है। बड़े और संवेदनशील डेटा को नेटवर्क पर ट्रांसफर करने या सैंपल csv फ़ाइलों से ML प्रशिक्षण में सटीकता खोने के बजाय, आप अपना R/Python कोड सीधे अपने डेटाबेस के भीतर चला सकते हैं। आप Jupyter Notebooks, RStudio, PyCharm, VSCode, Visual Studio—जहाँ चाहें—में काम करें और फिर फ़ंक्शन निष्पादन को SQL Server पर भेजें, ताकि बुद्धिमत्ता वहीं आए जहाँ आपका डेटा रहता है।
यह ट्यूटोरियल एक उदाहरण दिखाएगा कि आप Juptyter notebooks से अपना python कोड SQL Server के भीतर चलाने के लिए कैसे भेज सकते हैं। यही सिद्धांत R और किसी भी अन्य IDE पर भी लागू होता है। यदि आप वीडियो के ज़रिए सीखना पसंद करते हैं, तो यह ट्यूटोरियल YouTube पर यहाँ उपलब्ध है:
SQL के भीतर R या Python चलाने के लिए, सबसे पहले आपको Machine Learning Services फ़ीचर इंस्टॉल और कॉन्फ़िगर करना होगा। यह हाउ-टू गाइड देखें।
2. Microsoft के Python Client के माध्यम से RevoscalePy इंस्टॉल करें
Jupyter Notebooks से SQL पर Python निष्पादन भेजने के लिए, आपको Microsoft का RevoscalePy पैकेज उपयोग करना होगा। RevoscalePy पाने के लिए, Microsoft का ML Services Python Client डाउनलोड और इंस्टॉल करें। डॉक्यूमेंटेशन पेज या डायरेक्ट डाउनलोड लिंक (Windows के लिए)।
डाउनलोड करने के बाद, powershell को व्यवस्थापक के रूप में खोलें और डाउनलोड फ़ोल्डर पर जाएँ। इस कमांड से इंस्टॉलेशन शुरू करें (इंस्टॉल फ़ोल्डर को अपनी आवश्यकता अनुसार बदल सकते हैं): .\\Install-PyForMLS.ps1 -InstallFolder "C:\\Program Files\\MicrosoftPythonClient"
इंस्टॉलेशन में थोड़ा समय लग सकता है, धैर्य रखें। इंस्टॉल हो जाने पर उस नए पथ पर जाएँ जहाँ आपने इंस्टॉल किया है। एक खाली फ़ोल्डर बनाएँ और Jupyter Notebooks खोलें: mkdir JupyterNotebooks; cd JupyterNotebooks; ..\\Scripts\\jupyter-notebook
Python 3 इंटरप्रेटर के साथ नया नोटबुक बनाएँ:
जाँचने के लिए कि सब कुछ सेट है, पहले सेल में revoscalepy इम्पोर्ट करें और चलाएँ। यदि कोई त्रुटि संदेश नहीं आता, तो आप आगे बढ़ने के लिए तैयार हैं।
डेटाबेस सेटअप (सिर्फ़ इस ट्यूटोरियल के लिए आवश्यक)
ट्यूटोरियल के शेष भाग के लिए, यदि आप सारा कोड कॉपी-पेस्ट नहीं करना चाहते, तो आप यह Jupyter Notebook Github से क्लोन कर सकते हैं। यह डेटाबेस सेटअप एक बार का चरण है ताकि आपके पास इस ट्यूटोरियल जैसा ही डेटा हो। अपना डेटा इस्तेमाल करने के लिए आपको इनमें से कोई भी सेटअप स्टेप करने की आवश्यकता नहीं है।
1. एक डेटाबेस बनाएँ
अपने सर्वर के लिए कनेक्शन स्ट्रिंग संशोधित करें और pyodbc का उपयोग करके नया डेटाबेस बनाएँ।
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")संचालित द्वारा
2. SkLearn से Iris सैंपल इम्पोर्ट करें
Iris शुरुआती डेटा साइंस ट्यूटोरियल्स के लिए एक लोकप्रिय डेटासेट है। यह 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)संचालित द्वारा
3. RecoscalePy API का उपयोग करके एक टेबल बनाएँ और Iris डेटा लोड करें
(आप यह काम pyodbc, sqlalchemy या अन्य पैकेजों से भी कर सकते हैं)
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")संचालित द्वारा
SQL Server को भेजने के लिए एक फ़ंक्शन परिभाषित करें
जो भी python कोड आप SQL में चलाना चाहते हैं, लिखें। इस उदाहरण में, हम iris डेटासेट पर एक स्कैटर मैट्रिक्स बना रहे हैं और केवल .png की बाइटस्ट्रीम को Jupyter Notebooks में वापस भेज रहे हैं ताकि उसे हमारे क्लाइंट पर रेंडर किया जा सके।
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()संचालित द्वारा
निष्पादन SQL पर भेजें
अब जब हम सेटअप पूरा कर चुके हैं, देखें कि रिमोट निष्पादन भेजना वास्तव में कितना आसान है! पहले import revoscalepy करें। एक sql_compute_context बनाएँ, और फिर किसी भी फ़ंक्शन का निष्पादन RxExec के साथ सहज रूप से SQL Server पर भेज दें। SQL से Jupyter Notebook में कोई कच्चा डेटा ट्रांसफर नहीं हुआ। सारा कंप्यूटेशन डेटाबेस के भीतर हुआ, और सिर्फ़ इमेज फ़ाइल डिस्प्ले के लिए वापस आई।
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)संचालित द्वारा
हालाँकि यह उदाहरण Iris डेटासेट के साथ साधारण है, कल्पना करें कि आपने अब कितनी अतिरिक्त स्केल, परफ़ॉर्मेंस और सुरक्षा क्षमताएँ अनलॉक कर दी हैं। आप SQL Server में बड़े पैमाने के डेटा पर Deep Learning और AI अनुप्रयोग बनाने के लिए नवीनतम ओपन सोर्स R/Python पैकेजों का उपयोग कर सकते हैं। हम Microsoft के अग्रणी उच्च-प्रदर्शन एल्गोरिदम RevoScaleR और RevoScalePy API में भी उपलब्ध कराते हैं। इन्हें ओपन सोर्स दुनिया के नए नवाचारों के साथ उपयोग करने से आप अपने अनुप्रयोगों में बेजोड़ विकल्प, प्रदर्शन और स्केल ला सकते हैं।
SQL Machine Learning Services Documentation देखें, ताकि आप सीख सकें कि SQL स्टोरड प्रोसिजर्स के साथ अपना R/Python कोड आसानी से कैसे परिनियोजित करें, जिससे वे आपके ETL प्रक्रियाओं या किसी भी एप्लिकेशन में सुलभ हों। अपने डेटाबेस में मशीन लर्निंग मॉडल प्रशिक्षित करें और स्टोर करें, ताकि बुद्धिमत्ता वहीं आए जहाँ आपका डेटा रहता है।
परिचय
क्या आप जानते हैं कि आप Jupyter Notebooks या किसी भी IDE से SQL Server में R और Python कोड रिमोटली चला सकते हैं? SQL Server में Machine Learning Services डेटा को इधर-उधर ले जाने की आवश्यकता खत्म कर देता है। बड़े और संवेदनशील डेटा को नेटवर्क पर ट्रांसफर करने या सैंपल csv फ़ाइलों से ML प्रशिक्षण में सटीकता खोने के बजाय, आप अपना R/Python कोड सीधे अपने डेटाबेस के भीतर चला सकते हैं। आप Jupyter Notebooks, RStudio, PyCharm, VSCode, Visual Studio—जहाँ चाहें—में काम करें और फिर फ़ंक्शन निष्पादन को SQL Server पर भेजें, ताकि बुद्धिमत्ता वहीं आए जहाँ आपका डेटा रहता है।
यह ट्यूटोरियल एक उदाहरण दिखाएगा कि आप Juptyter notebooks से अपना python कोड SQL Server के भीतर चलाने के लिए कैसे भेज सकते हैं। यही सिद्धांत R और किसी भी अन्य IDE पर भी लागू होता है। यदि आप वीडियो के ज़रिए सीखना पसंद करते हैं, तो यह ट्यूटोरियल YouTube पर यहाँ उपलब्ध है:
https://youtu.be/D5erljpJDjE
पर्यावरण सेटअप: पूर्वापेक्षाएँ
1. SQL Server पर ML Services इंस्टॉल करें
SQL के भीतर R या Python चलाने के लिए, सबसे पहले आपको Machine Learning Services फ़ीचर इंस्टॉल और कॉन्फ़िगर करना होगा। यह हाउ-टू गाइड देखें।
2. Microsoft के Python Client के माध्यम से RevoscalePy इंस्टॉल करें
Jupyter Notebooks से SQL पर Python निष्पादन भेजने के लिए, आपको Microsoft का RevoscalePy पैकेज उपयोग करना होगा। RevoscalePy पाने के लिए, Microsoft का ML Services Python Client डाउनलोड और इंस्टॉल करें। डॉक्यूमेंटेशन पेज या डायरेक्ट डाउनलोड लिंक (Windows के लिए)।
डाउनलोड करने के बाद, powershell को व्यवस्थापक के रूप में खोलें और डाउनलोड फ़ोल्डर पर जाएँ। इस कमांड से इंस्टॉलेशन शुरू करें (इंस्टॉल फ़ोल्डर को अपनी आवश्यकता अनुसार बदल सकते हैं):
.\\Install-PyForMLS.ps1 -InstallFolder "C:\\Program Files\\MicrosoftPythonClient"इंस्टॉलेशन में थोड़ा समय लग सकता है, धैर्य रखें। इंस्टॉल हो जाने पर उस नए पथ पर जाएँ जहाँ आपने इंस्टॉल किया है। एक खाली फ़ोल्डर बनाएँ और Jupyter Notebooks खोलें:
mkdir JupyterNotebooks; cd JupyterNotebooks; ..\\Scripts\\jupyter-notebookPython 3 इंटरप्रेटर के साथ नया नोटबुक बनाएँ:
जाँचने के लिए कि सब कुछ सेट है, पहले सेल में revoscalepy इम्पोर्ट करें और चलाएँ। यदि कोई त्रुटि संदेश नहीं आता, तो आप आगे बढ़ने के लिए तैयार हैं।
डेटाबेस सेटअप (सिर्फ़ इस ट्यूटोरियल के लिए आवश्यक)
ट्यूटोरियल के शेष भाग के लिए, यदि आप सारा कोड कॉपी-पेस्ट नहीं करना चाहते, तो आप यह Jupyter Notebook Github से क्लोन कर सकते हैं। यह डेटाबेस सेटअप एक बार का चरण है ताकि आपके पास इस ट्यूटोरियल जैसा ही डेटा हो। अपना डेटा इस्तेमाल करने के लिए आपको इनमें से कोई भी सेटअप स्टेप करने की आवश्यकता नहीं है।
1. एक डेटाबेस बनाएँ
अपने सर्वर के लिए कनेक्शन स्ट्रिंग संशोधित करें और pyodbc का उपयोग करके नया डेटाबेस बनाएँ।
2. SkLearn से Iris सैंपल इम्पोर्ट करें
Iris शुरुआती डेटा साइंस ट्यूटोरियल्स के लिए एक लोकप्रिय डेटासेट है। यह sklearn पैकेज में डिफ़ॉल्ट रूप से शामिल है।
3. RecoscalePy API का उपयोग करके एक टेबल बनाएँ और Iris डेटा लोड करें
(आप यह काम pyodbc, sqlalchemy या अन्य पैकेजों से भी कर सकते हैं)
SQL Server को भेजने के लिए एक फ़ंक्शन परिभाषित करें
जो भी python कोड आप SQL में चलाना चाहते हैं, लिखें। इस उदाहरण में, हम iris डेटासेट पर एक स्कैटर मैट्रिक्स बना रहे हैं और केवल .png की बाइटस्ट्रीम को Jupyter Notebooks में वापस भेज रहे हैं ताकि उसे हमारे क्लाइंट पर रेंडर किया जा सके।
निष्पादन SQL पर भेजें
अब जब हम सेटअप पूरा कर चुके हैं, देखें कि रिमोट निष्पादन भेजना वास्तव में कितना आसान है! पहले
import revoscalepyकरें। एकsql_compute_contextबनाएँ, और फिर किसी भी फ़ंक्शन का निष्पादनRxExecके साथ सहज रूप से SQL Server पर भेज दें। SQL से Jupyter Notebook में कोई कच्चा डेटा ट्रांसफर नहीं हुआ। सारा कंप्यूटेशन डेटाबेस के भीतर हुआ, और सिर्फ़ इमेज फ़ाइल डिस्प्ले के लिए वापस आई।हालाँकि यह उदाहरण Iris डेटासेट के साथ साधारण है, कल्पना करें कि आपने अब कितनी अतिरिक्त स्केल, परफ़ॉर्मेंस और सुरक्षा क्षमताएँ अनलॉक कर दी हैं। आप SQL Server में बड़े पैमाने के डेटा पर Deep Learning और AI अनुप्रयोग बनाने के लिए नवीनतम ओपन सोर्स R/Python पैकेजों का उपयोग कर सकते हैं। हम Microsoft के अग्रणी उच्च-प्रदर्शन एल्गोरिदम RevoScaleR और RevoScalePy API में भी उपलब्ध कराते हैं। इन्हें ओपन सोर्स दुनिया के नए नवाचारों के साथ उपयोग करने से आप अपने अनुप्रयोगों में बेजोड़ विकल्प, प्रदर्शन और स्केल ला सकते हैं।
और जानें
DataCamp का ट्यूटोरियल देखें: How to Execute Python/R in SQL।
SQL Machine Learning Services Documentation देखें, ताकि आप सीख सकें कि SQL स्टोरड प्रोसिजर्स के साथ अपना R/Python कोड आसानी से कैसे परिनियोजित करें, जिससे वे आपके ETL प्रक्रियाओं या किसी भी एप्लिकेशन में सुलभ हों। अपने डेटाबेस में मशीन लर्निंग मॉडल प्रशिक्षित करें और स्टोर करें, ताकि बुद्धिमत्ता वहीं आए जहाँ आपका डेटा रहता है।
SQL Server में बेसिक R और Python निष्पादन: https://aka.ms/BasicMLServicesExecution
SQL Server में Machine Learning Services सेटअप करें: https://aka.ms/SetupMLServices
Github पर एंड-टू-एंड ट्यूटोरियल समाधान: https://microsoft.github.io/sql-ml-tutorials/
अन्य YouTube ट्यूटोरियल्स:
यदि आप और सीखने में रुचि रखते हैं, तो DataCamp के शुरुआती पाठ्यक्रम देखें।