Knime Ders 3: Database Bağlantısı, Database’den Veri Okuma ve Yazdırma

Selam!

Tableau’nun yanında Knime’da kullanıyorum ve Tableau’da olduğu gibi Knime ile ilgili de Türkçe kaynak malumunuz oldukça kısıtlı hatta hiç olmadığı için size daha çok duyurmak ve anlatmak istiyorum.

Bağlantı için gerekli olan bazı driver’lar knime içerisinde default olarak yüklü fakat oracle ya da exasol gibi database’ler için driver’ı sizin yüklemeniz gerekiyor.

Oracle için nasıl yapıldığına bakalım.

File -> Preferences diyelim ve arama kısmına database yazalım. KNIME ın altındaki databases yazan kısma tıklayalım. Add file diyerek .jar uzantılı jdbc driver dosyasını seçelim ve ok diyelim.

Screenshot_5

Driverımızı ekledik.

Pekala database’den veriyi knime ile nasıl okuyoruz?

Sol altta Node Repository yazan kısımdan Database Reader yazarak aratalım. Node’a çift tıklayarak ekrana alalım. Sağ click -> configure ya da çift tık ile node’un içine girelim.

Screenshot_6

Yukarıda gördüğünüz şekilde database bilgilerinizi girin. Database URL yazan kısma orada da verildiği gibi ip:port numarası yerleştin.

Bu kadar bağlantımız hazır.

İsterseniz aynı veri tabanından bir tablo daha çekip bu tabloları joinleyip veri üzerinde oynamalar yapalım.

Şuan ben exasol kullandığım için (exasol dünyanın en hızlı analitik veri tabanı arkadaşlar ilerleyen yazılarımda kendisini de sizlerle tanıştıracağım.) Exasol‘da 2 tabloya ayrı ayrı bağlanarak tabloları joinleyelim. Bunun kullanacağımız için node Joiner.

Screenshot_7.png

Burada gördüğünüz gibi order_id ve siparis_no üzerinden right join yaptım. Joiner node’unu da bu şekilde kullanıyoruz.

Benim hazırlamış olduğum örnek aşağıdaki şekilde (diğer node’ları ilerleyen günlerde anlatacağım);

Screenshot_3.png

Verinin yeni halini database’e yazdırmak için Database Writer node’unu kullanıyoruz. Node’a çift tıklayarak içerisine bağlantı bilgilerimizi giriyoruz.

Screenshot_9.png

Tabi bunun için önce database’de tabloyu oluşturmak gerekiyor. Tablo oluşturulduktan sonra güncellenen veriler database’deki yerini alıyor.

Exasol anlatırken daha detaylı örneklerle Tableau, Knime ve Exasol’u birbirine bağlayacağım. Böylece yeni nesil iş zekası ürünlerinin kolaylığını sizlerde görmüş olacaksınız:))

Herkese bol teknolojik günler ∞

Reklamlar

Knime Ders 2: Sosyal Ağlardaki Verilerin İşlenmesi & Tableau’ya Aktarım

Buyrun Twitter verilerini çekelim. Öncelikle bir twitter adresiniz ve buraya bağlanmış bir mobil hattınız olmalı. Ardından apps.twitter.com ‘a giriyoruz. Create New App’e tıklıyoruz. Yanında minik yıldız olan boşlukları dolduruyoruz (Name, Description, Website). Enter.

Şimdi gelen sayfada Keys and Access Tokens sekmesine tıklayıp Knime ekranına geçelim.

Knime da ekrana atıp bağlayacağınız nodlar:

Twitter API Connector (Twitter’a bağlanmak için)

Twitter Search (Arama yapmak için)

Twitter Users (Kullanıcıları görmek için)

Twitter Timeline (Timeline nı görmek istediğiniz kişi için)

Twitter Post Tweet (Sizin twitter hesap bilgileriniz. Buradan twitter’a tweette atabilirsiniz.)

Aşağıda resmini eklemiş olduğum şekilde birbirine bağlıyoruz. Twitter API Connector’a çift tık ile Credentials sekmesindeki API key, API secret, Access token, Access token secret bilgilerini açmış olduğumuz sayfada Keys and Access Tokens sekmesinde application settingste yazan bilgiler ile api verilerini, aşağıda create my access token’a tıkladığınızda yazan bilgiler ile access verilerini dolduruyoruz.

Tamamsak işimiz bitti sayılır nodlara çift tıklayarak hangi verileri çekmek istediğimizi seçiyoruz:

Twitter Users sağ tık search results kullanıcıların tweetlerini getirir. (Twitter users’a çift tıklayarak arkadaşlar, favoriler vs. ne görmek istediğinizi siz seçebilirsiniz)

Twitter Search çift tık query: bilgisayar dersek bilgisayar hakkında konuşulanları görürürüz. (API nin ulaştığı bilgiler  tarih vs. kısıtlıdır.)

Twitter Timeline çift tık yazılarını görmek istediğiniz kullanıcıyı seçebilirsiniz. User’ı seçip altındaki user’ın karşısına kişinin twitter kullanıcı adını yazarak o kişinin tweetlerini görebilirsiniz.

NOT: Hangi nod için çalışma ekranını görmek istiyorsanız: İlgili noda sağ tık ile en alttaki seçeneği seçin.

Çalışma ekranın üzerine yazı yazmak için: ekranda boş bir yerin üzerine gelerek sağ tık -> New Workflow Annotation diyebilirsiniz.

Bu slayt gösterisi için JavaScript gerekir.

Şimdi size son olarak Knime ve Tableau’nun ilişkisinden söz etmek istiyorum. Tüm bu yaptıklarımızdan sonra hangi projede çalışıyorsanız Knime’da yaptıklarınızı Tableau’da rapor haline getirmek mümkün. Resmini de koyduğum üzere Tableau Writer TDE nodunu en son noda bağlayarak çift tık kayıt yerinizi seçip Knime verilerini Tableau’ya aktarabilirsiniz. Kayıt yerinden kaydettiğiniz .tde uzantılı dosyayı açarak verilerinizi raporlaştırabilir dilediğiniz gibi görselleştirebilirsiniz.

Sevgiler

Knime Ders 1: Web – Metin Madenciliği

Yep Knime ile karşınızdayım:)

Şimdi biraz sizlere Knime’dan bahsetmek istiyorum. Knime açık kaynak kodlu bir veri madenciliği yazılımı. Üniversitedeyken Knime’a benzer olarak Rapidminer kullanmıştım ve ikisini kıyaslayacak olursam Rapidminer ücretsiz olarak size yalnızca on bin satırlık veri ekleme imkanı veriyordu fakat Knime tamamen ücretsiz bir veri işleme yazılımı. (Desktop ücretsiz, server tarafı ücretli gençler)

Knime workflow mantığıyla çalışıyor yani ekrana sürükle bırak yaparak node denen kutucukları birbirine bağlayıp akış diyagramı oluşturuyoruz.

Knime’ı yüklediğiniz de kurulu değilse “palladian“ı mutlaka kurmamız lazım. Palladian java üzerinde geliştirilmiş internet üzerinden download yapmayı sağlayan bir yazılım. Bunun için Install KNIME Extensions a girerek arama kısmına palladian yazıyoruz. (Sol altta hide items that are already installed (yüklenmiş olanları gizle) seçeneğindeki tiki kaldırırsanız yüklü olan programlar görünecektir.) Knime Community Contributions Other -> Palladian for KNIME diyerek palladian’ı kuruyoruz.

Eveet tamamsak şimdi kullanmaya başlayabiliriz. İlk önce solda examples sağ tık ile login oluyoruz. Burada bir sürü örnekten istediğinizi çift tık ile seçerek inceleyebilirsiniz.

Dilerseniz yeni bir proje oluşturarak web madenciliği – metin madenciliği – ile ilgili örneğimizi oluşturalım. En üst sekmeden File -> New -> New KNIME workflow next ok diyerek yeni bir proje açıyoruz.

Hadi gelen ekranı doldurmaya başlayalım.

Sol aşağıda Node Repository kutusuna gelerek Table Creator i bulup çift tıklıyoruz. Table Creator nodunu web sitesinden bilgileri çekmek için kullanıyoruz. Noda çift tıklıyoruz ya da sağ tık configure diyoruz. Gelen Row0 Column1 e verilerini çekmek istediğimiz rss i yapıştırıyoruz. Ben google a cnn rss feed yazarak gelen adrese tıklayıp çıkan rss lerden birini kopyalarak yapıştırdım.

Devam edelim. Ekrana Http Retriever i alıyoruz ve iki nodu birbirine bağlıyoruz (giriş çıkış sayıları farklı olduğu için eskisini aldım). Bu nodlar verileri internetten almamızı sağlıyor. Şimdi Feed Parse‘ı alarak gelen verileri parçalara bölüyoruz. Ardından Strings to Document i (üzerine çift tıklayıp title karşısına title, full text in karşısına da description olarak ayarlardım) ekliyorum. Dökümanı işleyebilmek için string olan bilgileri dökümana çevirmek zorundayız.

Sonraki adım OpenNLP NE Tagger. Bu nodta etiketlemeyi sağlıyor. 2, 3, 4 vs. istediğiniz kadar ekleyebilirsiniz ben 2 tane ekliyorum. Noda çift tıklayarak neye göre etiketlendirme yapacağını ayarlayabiliyorsunuz tarih, yer, kişi vb. Arkasından Bag of Words Creater ekliyoruz kendisi her etiketi sayar ve gruplandırır.

Tags to String ile etiketlerimizi stringe çeviriyoruz. Şimdi TF i ekliyoruz. TF, frekansları (sayıları) sayıyor. Son olarak Tag Cloud ekliyoruz. Tag cloud, yani etiket bulutu etiketleri görmemizi sağlar. Sık kullanılan etiketleri daha büyük diğerlerini daha küçük yazar. Bunu görmek için Tag Cloud sağ tık image port diyebilirsiniz.

Son olarak yeşil play iconuna basın ve hepsi bu kadar!

25.png

Sevgiler