Anasayfa / Uygulama Araçları / Knime / Kendi Knime Eklentinizi Oluşturma Rehberi: Geliştirme Ortamının Hazırlanması

Kendi Knime Eklentinizi Oluşturma Rehberi: Geliştirme Ortamının Hazırlanması

Merhaba, daha önceki yazılarımda Knime ile bir sınıflandırma uygulaması yapmıştık daha sonra yine Knime ile oluşturulan modelin farklı programlama dillerinde nasıl kullanılabileceği ile ilgili bir uygulama yapmıştık. Bu yazımda ise Knime ile mümkün olan bir başka konuya değineceğim.

Knime içerisinde ETL’den ML ve DL’e kadar birçok önyüklü özellik bulunmakta. Eğer bu özelliklerden daha fazlasına ihtiyaç duyarsanız topluluk tarafından oluşturulmuş sayısız eklentiye ulaşabilirsiniz. Ama ihtiyacınız daha da spesifik ise kendi eklentinizi de oluşturabilirsiniz. Bu esnekliği Knime’ın açık kaynaklı bir uygulama olmasına borçluyuz. Oluşturduğunuz bu eklentileri açık kaynak dünyasına kazandırmak için Knime’ın topluluk eklentileri havuzuna da ekleyebilirsiniz. Böylece sizin gibi bu özelliğe ihtiyaç duyan başkaları da oluşturduğunuz eklentiyi kolayca yükleyip bu özellikten faydalanabilirler.

Kendi Knime Eklentinizi Oluşturma Rehberi Serisinin ilk yazısı olan bu yazımda adım adım Knime geliştirme ortamınızı nasıl kurabileceğinizi ve örnek bir 1nodu nasıl oluşturabileceğinizi anlatacağım.

Geliştirme Ortamının Hazırlanması

Bu rehber hazırlanırken Ubuntu 18.04 işletim sistemi kullanılmıştır ve geliştirme ortamının hazırlanmasında izlenen adımlar bu işletim sisteminin gerektirdiği şekilde anlatılmıştır. Eğer farklı bir işletim sistemi kullanıyorsanız anlatılan kurulum adımlarını bir sanal makine üzerinde gerçekleştirmeniz gerekmektedir veya bu kurulum adımlarını kullandığınız işletim sistemine uyarlayarak da gerçekleştirebilirsiniz.

1- JAVA: OpenJDK 8

Knime Java ile yazılmış bir uygulama olduğundan öncelikle bilgisayarımızda OpenJDK 8 yüklü olduğuna emin olmalıyız. Aşağıdaki komutları terminalinizde çalıştırarak Javayı yükleyebilirsiniz.

$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk

Eğer bilgisayarınızda birden fazla Java sürümü varsa aşağıdaki komut ile istediğiniz sürümü seçebilirsiniz.

$ sudo update-alternatives --config java

Şimdi de aşağıdaki komut ile yüklemeyi kontrol edelim. Eğer aynı sonucu alırsanız yüklemeniz başarılı olmuş demektir.

$ java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-8u232-b09-0ubuntu1~18.04.1-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

2- IDE: Eclipse for RCP and RAP developers

Knime Eclipse üzerine kuruludur. Dolayısıyla Knime için bir geliştirme yaparken Eclipse kullanmak zorundayız. Knime SDK ile eklenti geliştirmek için gerekli araçları içerdiği için. Eclipse for RCP and RAP developers versiyonunu yüklememiz gerekiyor.

Yüklediğiniz versiyonun en azından 4.7 veya üzeri olduğuna emin olun. Yükleme tamamlandıktan sonra indirdiğiniz sıkıştırılmış dosyayı ayıklayın ve Eclips’i çalıştırın.

3- Knime SDK Kurulumu

Eclips’i çalıştırdıktan sonra Knime SDK’i yüklemek için; File + Import + Git + Projects from Git File + Clone URI adımlarını izleyin ve çıkan pencerede URI kısmına bu linki: https://github.com/knime/knime-sdk-setup girin ve ilerleyip işlemi bitirin.

Daha sonra Project Explorer sekmesinde org.knime.sdk.setup dizini içerisinde KNIME-AP.target dosyasına çift tıklayın. İşlem tamamlanana kadar bekleyin. İşlemin ilerlemesini pencerenin en sağ köşesinden takip edebilirsiniz. Bu kısım epey zaman alabilir. İşlem tamamlandıktan sonra Set as Active Target Platform‘a tıklayın ve yine aynı şekilde işlem tamamlanana kadar bekleyin.

Daha sonra Knime’ın geliştirme sürümünü çalıştırmak için org.knime.sdk.setup dizini içerisindeki KNIME Analytics Platform.launch dosyasına sağ tıklayıp Run As + 1 KNIME Analytics Platform‘ a tıklayın. İlk açılış epey zaman alabilir.

4- Yeni Node Oluşturma Eklentisinin Eclips’e Kurulumu

Geliştirme ortamı içerisinde yapmamız gereken son şey yeni node oluşturmak için bize yardımcı olacak eklentiyi kurmak. Bunun için Eclipse içerisinde Help + Install New Software‘e tıklayın. Açılan pencerede Work with kısmına http://update.knime.com/analytics-platform/4.1/ adresini girin ve Enter’e basın. Burada 4.1 yerine kendi Knime sürümünüzü girin. Çıkan sonuçlar arasında Knime Node Developement Tools içerisinden KNIME Node Wizard‘ı işaretleyin ve devam edin. Yükleme bittikten sonra Eclips’i yeniden başlatmanız istenecektir.

İlk Nodunuzun Oluşturulması

Geliştirme ortamımız ile ilgili gerekli tüm hazırlıkları bitirdik. Şimdi ilk projemizi oluşturabiliriz. Projeyi oluşturmak için File + New + Other‘a tıklayın. Açılan pencerede Other dizininin altında Create a new KNIME Node-Extension seçeneğini seçip devam edin. Açılan pencerede projeniz ile ilgili bilgileri aşağıdaki şekilde doldurabilirsiniz:

New Project Name : org.vbo.numberformatter
 Node class name : NumberFormatter
    Package name : org.vbo.numberformatter
     Node vendor : Gökhan Gerdan

Projeyi oluşturduktan sonra Project Explorer sekmesinde org.vbo.numberformatter/src/org.vbo.numberformatter dizini altında Dialog, Factory, Model, Plugin ve View ile biten java dosyalarını inceleyerek oluşturduğumuz örnek projeyi incelemenizi ve üzerinde küçük değişiklikler denemenizi tavsiye ederim.

Oluşturduğumuz nodu görmek için org.knime.sdk.setup dizini içerisindeki KNIME Analytics Platform.launch dosyasına sağ tıklayıp Run As + 1 KNIME Analytics Platform‘ a tıklayın. Node Explorer içerisinde numberFormatter isimli nodu göreceksiniz.

Bu yazımda geliştirme ortamını kurmuş olduk ve bir projeyi nasıl oluşturacağımızı gördük. Bir sonraki yazımda bu örnek projenin yapısını inceleyip oluşturduğumuz bu nodun özelliklerini değiştireceğiz.

1nod (node, düğüm): Knime içerisinde görsel modeller oluşturmaya yarayan, birbirlerine bağlı çalışan, girdileri ve çıktıları olan fonksiyonel bloklardır.

Kaynaklar

KNIME Analytics Platform – SDK Setup

The Five Steps to Writing Your Own KNIME Extension

Developer Guide

Hakkında Gökhan Gerdan

Akdeniz Üniversitesi, Uzay Bilimleri ve Teknolojileri bölümü mezunu. 2018'den beri çeşitli sektörlerde Veri Bilimci olarak çalışmakta olup aynı zamanda yüksek lisans öğrenimine devam etmektedir. Python, Knime ve Veri Bilimi konularında eğitimler vermektedir.

GÖZ ATMAK İSTEYEBİLİRSİNİZ

Knime’da Eğitilen Modelin Farklı Programlama Dillerinde Kullanılması (Python, Java)

Merhaba VBO okurları, Knime ile ilgili bu ikinci yazımda oluşturulan modelin çıktısını alıp bu çıktı …

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir