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