SQL Server 2016 & R Scripting

Yukarıda görmüş olduğunuz grafik Google Trends üzerinden çıkarılmış Data Scientist kelimesine ilişkin arama trendini göstermektedir. Özellikle Harvard Business Review dergisinin Ocak 2012 yılında yayınlamış olduğu bir makale sonrası (
Data Scientist: The Sexiest Job of the 21st Century) bu terim çok daha fazla hayatımıza girmiş ve gerek bireysel gerekse kurumsal olarak çok aranan bir pozisyon haline gelmiştir.
Bu alan için belirlenmiş görev tanımı ülkemiz için çok farklı boyutlarda olsa da gerçekte baktığınızda olmazsa olmaz beklentilerden bir tanesi kişinin R programlama dilini biliyor olmasıdır.
1991 yılında Yeni Zelanda Auckland Üniversitesinden Ross Ihaka ve Robert Gentleman tarafından geliştirilen R, istatistiksel hesaplamalarda kullanılan bir programlama dilidir. GNU projesinin bir parçası olan R farklı platformlar üzerinde çalışabilmektedir. Komut yazma işlemiyle programladığımız bu yapının en temelinde nasıl kullanıldığını ve bilgisayarımıza yüklendiğini göstereceğim. Fakat işin aslına bakarsanız mevcut yapı özellikle C# gibi bir ortamda kod yazmaya alışkın kişiler için oldukça sıkıntılı olacaktır. Sanki bir notepad e kod yazıyormuşsunuz gibi bir durum söz konusu olduğu için Rstudio (
http://www.rstudio.com/), Tinn-R (
http://sourceforge.net/projects/tinn-r/) gibi farklı IDE ler ile R kodlaması yapmanız mümkün hale getirilmiştir. Burada biraz search ederek size en uygun R uygulamasını bulabilirsiniz. En temel halde R diliyle geliştirme yapmak için ise cran.r-project.org adresine gitmeniz gerekmektedir. Burada karşınıza üç farklı platform için link çıkacak. Biz Windows işletim sistemine sahip makinelerde geliştirme yapacağımız için ilgili linki tıklayarak gerekli yükleme işlemini gerçekleştirebiliriz.
Fakat R programlama dilini kendi yapısında kullanmak yerine farklı platformlarda da kullanabiliriz. Özellikle Microsoft’un yeni CEO’su Satya Nadella ile birlikte yaşamaya başladığı dönüşüm sürecinde bulut bilişim, mobil ve veri dünyası büyük bir öncelik kazanmaya başladı. Bu değişim ile birlikte R üzerinde çalışmalar yapan Revolution Analytics Ocak 2015’te satın alındı.
https://www.crunchbase.com/organization/revolution-computing#/entity
Sonrasında ise bizlerin işini daha da rahatlatacak olan özellik SQL Server 2016 ürünü ile birlikte karşımıza çıktı. Bu özellik sayesinde hazırlamış olduğumuz R scriptlerini direk SQL Server üzerinden çalıştırabilme ve iki farklı platform arasında kullanım kolaylığı kazanmış olduk. SQL Server 2016 üzerinde R scriptlerini çalıştırabilmemiz için bir iki küçük tanımlamalar yapmamız gerekmektedir. Şimdi bunları gerçekleştirerek ilk R örneğimizi yapalım.
İlk olarak SQL Server 2016 CTP için (ben 3.2 ürününü yükledim) kurulum yaparken Database Engine Services altında yer alan Advanced Analytics Extension için yükleme yapmayı unutmayın. Bu özelliği seçip kuruluma devam ettiğinizde Feature Rules sekmesinde karşınıza bir uyarı çıkacak.

Rule "Post-installation steps are required for Advanced Analytics Extensions" generated a warning.
The feature Advanced Analytics Extensions requires some post-installation steps after completing SQL Server setup.
Aslında bu uyarı ile birlikte SQL Server 2016 ürününü kurduğumuz anda bu alandaki işlemlerimiz bitmediğini, bir iki işlem daha yapmamız gerektiğini anlıyoruz. Yapmamız gereken işlemlerden ilki
https://www.microsoft.com/en-us/download/details.aspx?id=49525 adresine giderek Revolution R Open 3.2.2 for Revolution R Enterprise 7.5.0 ürününü bilgisayarımıza indirerek gerekli kurulumları gerçekleştirmek.


Bu iki Revolution Analytics ile ilgili kurulumu yaptıktan sonra bilgisayarınızda komut satırına gelerek gerekli tanımlamaları yapmanız gerekiyor. Bunun için ise registerRext.exe dosyasını kurulum yapacağınız instance için aşağıdaki gibi çalıştırmanız gerekmektedir.
"C:\Program Files\RRO\RRO-3.2.2-for-RRE-7.5.0\R-3.2.2\library\RevoScaleR\rxLibs\x64\registerRext.exe" /install /instance:donvito2016

Daha sonra yönetimsel Araçlar altında yer alan hizmetler kısmında bulunan SQL Server Launchpad servisini başlatmanız gerekmektedir. Eğer bu servisiniz kapalıyken R scripti çalıştırmaya kalkarsanız aşağıdaki gibi bir hata mesajı ile karşılaşacaksınız.
SQL Server was unable to communicate with the LaunchPad service. Please verify the configuration of the service.
R scriptlerimizi çalıştırmak için geriye kalan tek işlemimiz SQL Server üzerinde bulunan yeni özelliğimiz olan external script özelliğini aktif hale getirmek.
sp_configure 'external scripts enabled', 1;
RECONFIGURE;
sp_execute_external_script isimli stored procedure bizim SQL Server üzerinden R Scriptlerini çalıştırmamızı sağlamaktadır. Temel olarak language, script ve input data olmak üzere üç parametre almaktadır. Bunlardan ilkinde kullanacağımız programlama dilini (R) ikincisinde kullanacağımız scripti (R Script) üçüncüsünde ise bu scriptin çalışması için gerekli olan veri setini tanımalamamız gerekmektedir. Örneğin bir satış detay tablomuzun olduğunu düşünelim ve burada bulunan satış adetleri ile ilgili ortalama hesaplamak istiyoruz. Bunun için gerekli kod blogumuz aşağıdaki gibi olacaktır.

Bu yazımızda SQL Server 2016 üzerinden nasıl R scriptlerimizi çalıştıracağımıza dair gerekli kurulum ayarlarını anlatmaya çalıştık. İlerleyen zamanlarda R ile ilgili gerçek hayatta uygulayabileceğimiz örneklere yer vermeye çalışacağız.
İlişkili Yazılar
-
Ekleyen:
Koray Kocabaş YemekSepeti Senior BI Developer
-
Ekleyen:
Koray Kocabaş YemekSepeti Senior BI Developer
-
Ekleyen:
Koray Kocabaş YemekSepeti Senior BI Developer
-
Ekleyen:
Koray Kocabaş YemekSepeti Senior BI Developer
-
Ekleyen:
Koray Kocabaş YemekSepeti Senior BI Developer
-
Ekleyen:
Koray Kocabaş YemekSepeti Senior BI Developer