Bu eğitimi okuduktan sonra, T-SQL ifadelerine R ve Python betiklerini nasıl gömeceğinizi ve SQL ile Python/R arasında veri aktarırken hangi veri türlerinin kullanıldığını bileceksiniz.
T-SQL ifadelerinizin içinde R ve Python kodu yazabileceğinizi biliyor muydunuz? SQL Server'daki Machine Learning Services, veri taşımaya olan ihtiyacı ortadan kaldırır. Ağ üzerinden büyük ve hassas verileri aktarmak veya örnek csv dosyalarıyla doğruluk kaybına uğramak yerine, R/Python kodunuzu doğrudan veritabanınız içinde çalıştırabilirsiniz. R/Python kodunuzu SQL saklı yordamlarıyla kolayca dağıtarak ETL süreçlerinizde veya herhangi bir uygulamada erişilebilir hale getirin. Makine öğrenimi modellerini veritabanınızda eğitip depolayın; verinizin yaşadığı yere zekâ taşıyın.
SQL Server üzerinde büyük miktarda veriyle Derin Öğrenme ve Yapay Zekâ uygulamaları geliştirmek için en güncel açık kaynak R/Python paketlerini kurup çalıştırabilirsiniz. Microsoft'un RevoScaleR ve RevoScalePy API'lerinde öncü, yüksek performanslı algoritmalar da bulunur. Bunları açık kaynak dünyasındaki en yeni yeniliklerle birlikte kullanmak, uygulamalarınıza eşsiz bir seçenek, performans ve ölçek kazandırmanızı sağlar.
SQL Server Management Studio'yu açın ve sunucunuza bağlanın. Yeni bir sorgu açın ve bu temel örneği yapıştırın: (Bu örneklerde Python kullanılıyor olsa da, aynılarını R ile de yapabilirsiniz)
Sp_execute_external_script, SQL Server'da R ve Python çalıştırmayı sağlayan özel bir sistem saklı yordamıdır. Python ve R arasında seçim yapmanızı sağlayan bir language parametresi vardır. R veya Python kodunu yapıştırabileceğiniz bir script parametresi bulunur. Çıktıda 7 yazdırıldığını görmüyorsanız, bu makaledeki kurulum adımlarını yeniden gözden geçirin.
Parametrelere Giriş
Temel bir örneği tartıştıktan sonra, daha fazla parça eklemeye başlayalım:
Machine Learning Services, herhangi bir SQL sorgusunu kabul eden bir giriş veri parametresiyle SQL ve R/Python arasında daha doğal bir iletişim sağlar. Giriş parametresinin adı input_data_1 olarak adlandırılır.
Python kodunda, Python ile SQL arasında veri aktarmak için tanımlanmış varsayılan değişkenler olduğunu görebilirsiniz. Varsayılan değişken adları OutputDataSet ve InputDataSet'tir. Bu varsayılan adları şu örnekte olduğu gibi değiştirebilirsiniz:
Bu örnekleri çalıştırırken, her birinin (No column name) ile sonuç döndürdüğünü fark etmiş olabilirsiniz? İfadeye, döndürülen sütunlar ve veri türlerinin virgülle ayrılmış bir listesini belirten WITH RESULT SETS ifadesini ekleyerek döndürülen sütunlar için bir ad belirtebilirsiniz.
Peki, SQL ile Python arasında kullanılan giriş/çıkış veri türleri hakkında biraz daha konuşalım. Giriş SQL SELECT ifadeniz, Python Pandas paketine dayanarak Python'a bir "DataFrame" aktarır. Python'dan SQL'e dönüşte de çıktı, bir Pandas DataFrame nesnesi olmalıdır. Skaler değerleri bir DataFrame'e dönüştürmeniz gerekirse işte bir örnek:
EXEC sp_execute_external_script @language =N'Python',
@script=N'
import pandas as pd
c =1/2
d =1*2
s = pd.Series([c,d])
df = pd.DataFrame(s)
OutputDataSet = df
'
Altyapı:
c ve d değişkenlerinin ikisi de skaler değerlerdir; isterseniz bunları bir pandas Series'e ekleyebilir ve ardından bir pandas DataFrame'e dönüştürebilirsiniz. Bu örnek biraz daha karmaşık bir kullanım gösterir; daha fazla ayrıntı ve örnek için Python pandas paket belgelerini okuyun:
EXEC sp_execute_external_script @language =N'Python',
@script=N'
import pandas as pd
s ={"col1":[1,2],"col2":[3,4]}
df = pd.DataFrame(s)
OutputDataSet = df
'
Altyapı:
Artık T-SQL içinde R ve Python'u nasıl çalıştıracağınızın temelini biliyorsunuz! EXEC sp_execute_external_script çağrısını yapmak, R veya Python kodunuzu kopyalayıp yapıştırmak ve SQL giriş sorgunuzu kopyalayıp yapıştırmak son derece basittir. Belki R/Python ile kolay olan ancak SQL'de yazması fazla karmaşık bir veri dönüştürme veya çıkarma işlemi yapmanız gerekiyor. Belki ağ üzerinden gönderilemeyecek kadar büyük veriler üzerinde derin sinir ağları eğitiyorsunuz. Belki de OLTP sisteminize giren yeni veriler üzerinde otomatik olarak skorlamak/tahmin yapmak istiyorsunuz. Kullanım senaryoları geniştir ve artık SQL Server'daki Machine Learning Services ile güvenliği, performansı ve ölçeği artırmaya hazırsınız.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Giriş
T-SQL ifadelerinizin içinde R ve Python kodu yazabileceğinizi biliyor muydunuz? SQL Server'daki Machine Learning Services, veri taşımaya olan ihtiyacı ortadan kaldırır. Ağ üzerinden büyük ve hassas verileri aktarmak veya örnek csv dosyalarıyla doğruluk kaybına uğramak yerine, R/Python kodunuzu doğrudan veritabanınız içinde çalıştırabilirsiniz. R/Python kodunuzu SQL saklı yordamlarıyla kolayca dağıtarak ETL süreçlerinizde veya herhangi bir uygulamada erişilebilir hale getirin. Makine öğrenimi modellerini veritabanınızda eğitip depolayın; verinizin yaşadığı yere zekâ taşıyın.
SQL Server üzerinde büyük miktarda veriyle Derin Öğrenme ve Yapay Zekâ uygulamaları geliştirmek için en güncel açık kaynak R/Python paketlerini kurup çalıştırabilirsiniz. Microsoft'un RevoScaleR ve RevoScalePy API'lerinde öncü, yüksek performanslı algoritmalar da bulunur. Bunları açık kaynak dünyasındaki en yeni yeniliklerle birlikte kullanmak, uygulamalarınıza eşsiz bir seçenek, performans ve ölçek kazandırmanızı sağlar.
SQL Server Machine Learning Services'ı denemek için sabırsızlanıyorsanız, aşağıdaki uygulamalı eğitimi inceleyin. SQL Server'da Machine Learning Services kurulu değilse, önce burada yayımlanan başlangıç eğitimini takip etmek isteyeceksiniz: https://blogs.msdn.microsoft.com/mlserver/2018/05/18/getting-started-with-machine-learning-services-in-sql-server/
Nasıl Yapılır Eğitimi
Neler öğreneceksiniz
Bu eğitim, T-SQL ifadelerinde R ve Python'u nasıl çalıştıracağınızın temellerini kapsar. Eğitimi tamamladıktan sonra şunları bileceksiniz:
Kurulum Önkoşulları
SQL Server'da Machine Learning Services kurulu değilse, kurulumu yapmak için önce bu başlangıç eğitimini okuyun veya şu videoları izleyin: https://aka.ms/InstallMLServices https://aka.ms/EnableMLServices
Video eşlikçisi
Videolarla öğrenmeyi seviyorsanız, bu eğitim YouTube'da da mevcut: @https://aka.ms/ExecuteMLServices
Temeller
SQL Server Management Studio'yu açın ve sunucunuza bağlanın. Yeni bir sorgu açın ve bu temel örneği yapıştırın: (Bu örneklerde Python kullanılıyor olsa da, aynılarını R ile de yapabilirsiniz)
Sp_execute_external_script, SQL Server'da R ve Python çalıştırmayı sağlayan özel bir sistem saklı yordamıdır. Python ve R arasında seçim yapmanızı sağlayan birlanguageparametresi vardır. R veya Python kodunu yapıştırabileceğiniz birscriptparametresi bulunur. Çıktıda 7 yazdırıldığını görmüyorsanız, bu makaledeki kurulum adımlarını yeniden gözden geçirin.Parametrelere Giriş
Temel bir örneği tartıştıktan sonra, daha fazla parça eklemeye başlayalım:
Machine Learning Services, herhangi bir SQL sorgusunu kabul eden bir giriş veri parametresiyle SQL ve R/Python arasında daha doğal bir iletişim sağlar. Giriş parametresinin adı
input_data_1olarak adlandırılır.Python kodunda, Python ile SQL arasında veri aktarmak için tanımlanmış varsayılan değişkenler olduğunu görebilirsiniz. Varsayılan değişken adları
OutputDataSetveInputDataSet'tir. Bu varsayılan adları şu örnekte olduğu gibi değiştirebilirsiniz:Bu örnekleri çalıştırırken, her birinin
(No column name)ile sonuç döndürdüğünü fark etmiş olabilirsiniz? İfadeye, döndürülen sütunlar ve veri türlerinin virgülle ayrılmış bir listesini belirtenWITH RESULT SETSifadesini ekleyerek döndürülen sütunlar için bir ad belirtebilirsiniz.Giriş/Çıkış Veri Türleri
Peki, SQL ile Python arasında kullanılan giriş/çıkış veri türleri hakkında biraz daha konuşalım. Giriş
SQL SELECTifadeniz, Python Pandas paketine dayanarak Python'a bir "DataFrame" aktarır. Python'dan SQL'e dönüşte de çıktı, bir Pandas DataFrame nesnesi olmalıdır. Skaler değerleri bir DataFrame'e dönüştürmeniz gerekirse işte bir örnek:cveddeğişkenlerinin ikisi de skaler değerlerdir; isterseniz bunları bir pandas Series'e ekleyebilir ve ardından bir pandas DataFrame'e dönüştürebilirsiniz. Bu örnek biraz daha karmaşık bir kullanım gösterir; daha fazla ayrıntı ve örnek için Python pandas paket belgelerini okuyun:Artık T-SQL içinde R ve Python'u nasıl çalıştıracağınızın temelini biliyorsunuz!
EXEC sp_execute_external_scriptçağrısını yapmak, R veya Python kodunuzu kopyalayıp yapıştırmak ve SQL giriş sorgunuzu kopyalayıp yapıştırmak son derece basittir. Belki R/Python ile kolay olan ancak SQL'de yazması fazla karmaşık bir veri dönüştürme veya çıkarma işlemi yapmanız gerekiyor. Belki ağ üzerinden gönderilemeyecek kadar büyük veriler üzerinde derin sinir ağları eğitiyorsunuz. Belki de OLTP sisteminize giren yeni veriler üzerinde otomatik olarak skorlamak/tahmin yapmak istiyorsunuz. Kullanım senaryoları geniştir ve artık SQL Server'daki Machine Learning Services ile güvenliği, performansı ve ölçeği artırmaya hazırsınız.Ek Okumalar
R ve Python kodunuzu RStudio ve Jupyter Notebooks gibi favori IDE'lerinizde yazıp bu kodun yürütülmesini uzaktan SQL Server'a gönderebileceğinizi biliyor muydunuz? Daha fazlasını öğrenmek için şu dokümantasyon bağlantılarına göz atın: Dokümantasyon: https://aka.ms/R-RemoteSQLExecution Dokümantasyon: https://aka.ms/R-RemoteSQLExecution Github Jupyter Notebook örneği: https://aka.ms/RemoteExecJupyter
SQL hakkında daha fazla bilgi edinmek isterseniz, Veri Bilimi için SQL'e Giriş kursumuza ve SQL öğrenme merkezimize göz atın.