R ile Veri Tabanına Bağlanmak: SQL Server ve ODBC Örneği
R dili istatistiksel hesaplamalar ve veri görselleştirmesine imkan veren açık kaynaklı ücretsiz bir dildir. R dilinin arkasında güçlü bir topluluk (community) bulunmaktadır. Son yıllarda sadece istatistikçiler ve akademisyenler değil veri bilimcileri arasında da oldukça popülerlik kazanmış bir dildir. Bir veri bilimi ekibinin üzerinde çalışmak istediği veri seti genellikle ilişkisel veri tabanlarında saklanmaktadır. Eğer bu veriler ETL (Extract-transform-load) sürecinden geçirilerek analize hazır bir şekilde veri ambarına (data warehouse) aktarılmamışsa bu işlemleri yaparak R ile analize öyle başlamak gerekir. İlişkisel veri tabanından dosyaya veri çıkardıktan sonra onun R ile okunmasını hiç tavsiye etmem zira bu işlemler esnasında ayraç, satır sonu, tırnaklar, encoding vb. sıkıntılar çıkabilir. Bunun yerine R ile veri tabanlarına doğrudan bağlanmak daha sağlıklı bir yöntem olacaktır.
Bu yazımızda en yaygın ilişkisel veri tabanı yönetim sistemlerinden birisi olan MS SQL Server veri tabanına bağlanarak bir tablonun R ile görüntülenmesini anlatacağım. Veri ambarı olarak Windows 2012R2, SQL Server olarak SQL Server 2012, veri bilimci bilgisayarı olarak Windows7 kullandım. Öncelikle veri bilimci bilgisayarı veri ambarı sunucusuna erişilebilir durumda olması gerekir.
Veri bilimci bilgisayarında başlata tıklayıp “yönetimsel araçlar”ı arıyoruz. (Şekil-1).
Yönetimsel araçlar içinde ODBC (Open Database Connectivity) Veri Kaynaklarını tıklıyoruz. (Şekil-2)
ODBC Veri kaynağı Yöneticisi açılınca “EKLE” butonuna tıklıyoruz (Şekil-3).
“EKLE” ye tıklanınca karşımıza Şekil-4’te olduğu gibi “Yeni Veri kaynağı Oluştur” penceresi çıkıyor. Bu pencerede “SQl Server Native Client 11” i seçiyor ve “Son” a tıklıyoruz.
“Son” a tıklayınca karşımıza Şekil-5Teki “Create a New Data Source to SQL Server” penceresi çıkıyor. Bu pencerede bağlantı adı ve açıklamasıyla birlikte veri ambarı sunucusunun (Server) adını giriyoruz. Benim sistemimde bu sunucunun adı “DW” yani isim çözümlemesi bu. Buraya yazdığınız isme komut satırında ping gönderdiğinizde erişmelisiniz. Siz eğer bilgisayarınızı aynı zamanda veri tabanı olarak kullanıyorsanız “localhost” yazmanız gerekecektir.
Şekil-6’da hedef sunucuda oturum açma modunu seçiyoruz. Ben “With integrated Windows authentication” seçtim. Çünkü DWAdmin isminde bir kullanıcım var ve veri ambarını bu kullanıcı ile yönetiyorum. Siz dilerseniz benzer bir mantık kullanın dilerseniz “With SQL Server integration …” seçeneğini kullanın. Bu seçenekte SQL Server Login içinde hedef veri tabanında yetkili bir kullanıcı tanımlanmış olması gerekecektir. Windows modda ise login bilgilerini R ile bağlantı oluştururken giriyoruz.
“Change the default database to” seçeneğini tıklayarak varsayılan veritabanımızı seçiyoruz. (Şekil-7)
“Son”a tıkladığımızda karşımıza Şekil-9’daki pencere çıkıyor. Dilersek Bağlantıyı test edebiliriz. Böylelikle ODBC Yöneticisi ile işimiz bitiyor.
Şimdi RStudio’yu açıyorum ve az önce oluşturduğum ODBC bağlantısını kullanarak veri ambarıma bağlanıyorum.
Şekil-10’daki numaralandırmaları takip ederek R ile veri tabanı bağlantımı sağlıyorum. Yalnız ben yukarıda ODBC bağlantı adımı “HedefVeriKaynagim” olarak oluşturmuştum. R’da ise AdventureWorks2012 bağlantısını kullandım, karışıklık olmaz umarım. Şekil-10 resmi browserdan iyi görünmüyor. Farklı kaydedip dosyadan açarsanız sanırım sorun çözülecektir.