knime ilk bulusma

Bir süredir incelediğim KNIME ürünü ile ilgili bir yazı kaleme alarak ürün ile ilgili edindiğim tecrübeleri sizlerle de paylaşmak istedim.

Ürün adım adım iş parçacıkları oluşturup, sonra bunları bir iş akışı içinde tasarlayabileceğiniz bir ortam sunuyor. Aşağıdaki görselde bu işler neler olabilir kategorize edilmiş.

Veriye Erişim (farklı platformlar: file system, db, bigdata) >> Veri üzerindeki değişiklikler >> Veri analizi >> Görselleştirme >> Çıktılarımızın paylaşımı olarak sıralayabiliriz.

İlk olarak ürünün açık kaynak kodlu(github) ve ücretsiz olarak indirilip kurulum dahi gerekmeden kullanılmaya başlayabileceğinizden bahsetsem yanlış olmaz sanırım. Open-source zihniyetinin benimsenmiş olduğunu, ürünü ilk açtığınızda hemen karşınıza çok geniş olarak hazırlanmış örneklerle deneyimlemeye başlayabilirsiniz. Ee ben bunu ürünü indirdim ama kullanmayı nasıl öğreneceğim dediğinizde de farklı kaynaklar sunularak ürünü öğrenmek tamamen size bırakmışlar diyebilirim.

  1. KNIME Learning Hub
  2. YouTube KNIME TV
  3. E-learning Courses(Free)
  4. Blog Community Forum
  5. Eğitimler

Bu yukarıdaki saydığım zihniyetten ötürü de firmaya ve ürüne ısınmanız çok vaktinizi almıyor haliyle. Kendim için örnek verecek olursam, yaklaşık 3-4 günlük bir sürede ürünün mantığını anlayıp farklı ihtiyaçlar için kullanmaya başladım diyebilirim.

Çalıştığımız bir müşterimiz her hafta düzenli olarak BDDK sitesine girip sektör verilerini içeren bir excel aldığını iletti. Sonrasında bu excel üzerinde filtreleme/gruplama benzeri süreçlerden geçirdikten sonra raporlarında bu veriyi kullanıyorlar. Bu dönemde KNIME incelemesi yaptığımdan bu süreci tasarlayabilir miyiz merak ettim. Yaklaşık yarım günlük bir sürede KNIME Workflow BDDK işini tasarladım. (Siz de bu akışı indirip çalıştırabilirsiniz!)

Aslında bu işi bir iş akışına dökmek hem işi görselleştirme konusunda yardımcı oluyor, hem de operasyon risklerden süreci arındırmış oluyor.

Kimler kullanabilir ?

Özellikle günlük iş akışında sıklıkla veri ile uğraşan herkesin bu ürünü incelemesinde fayda var. O yüzden bu sorunun cevabı için günümüz koşullarında bir çok farklı iş kolu sayılabilir. Finans bölümleri , iş zekası bölümleri , IT bölümleri vs.

Bu bir yazılım ürünü öğrenmek çok vakit alır diye düşünmeyin, indirin ve mevcutta yaptığınız bir süreci deneyin derim.

Hangi ihtiyaçlar için konumlandırabiliriz ?

Bana kalırsa hem çok teknik hem de çok basit ihtiyaçlar için konumlandırılabilir. Örneğin , bir ses dosyasını text bir dosyaya çevirip analiz de edebilirsiniz ya da bir excel dosyasını alıp filtreleme yaparak başka bir dosya da oluşturabilirsiniz.

  • Öncelikle benim de şu an üzerinde çalıştığım konu olan “Self-Service BI” projelerinde iş birimlerinin farklı veri ihtiyaçlarını karşılaması için konumlandırmak mantıklı görünüyor.
  • Rutin yapılan mutabakat, karşılaştırma, sorgulama işleri için biçilmiş kaftan denilebilir. Süreci bir kere tasarlamanız yeterli olacaktır, sonrasında sadece çalıştır demeniz yeterli.
  • Machine learning, data mining, data discovery gibi çok geniş olan başlıklar için de sunulan farklı çözüm noktaları mevcut.

Farklı ürünler ile entegre edebilir miyim ?

Entegrasyon sağlayabileceğiniz ürün sayısı da oldukça tatminkar görünüyor. Benim ilk olarak rastladığım ve ilginizi çekebileceğini düşündüğüm ürünleri aşağıda listeledim.

  • Big data platforms (Hive , Impala , HDFS , Apache Spark)
  • R , Python ve Java
  • Tensorflow , Keras

Süreçleri otomatize/schedule edebilir miyiz ?

Oluşturduğunuz workflowları schedule etmenin iki yöntemi var.

  1. KNIME Server satın almak

KNIME server satın alarak süreçlerini schedule ederek bir web portal aracılığıyla çalıştırabilirsiniz.

2. Script oluşturarak windows scheduler

Bu süreç enterprise kullanım açısından biraz yönetmesi zor olsa da ikinci bir opsiyon olarak sayılabilir. (bknz)

Ön plana çıkan özellikleri nelerdir ?

Ürünü kullanmaya başlamak için sayabileceğim sebepler aslında bunlar.

  • Database push-down desteği
  • Forum ortamının olgunluk seviyesi
  • Örneklere erişim kolaylığı ve doküman zenginliği

Ürünün performansını nasıl değerlendirebiliriz ?

Bir desktop ürünü olduğunu düşünürsek aslında öncelikle sizin kullandığınız bilgisayarın donanım özelliklerine bağımlı diyebilirim. Yani kullandığınız bilgisayar ne kadar iyiyse o kadar iyi bir performans alabilirsiniz.

Daha hızlı performansa ihtiyaç duyan kritik ihtiyaçlarınız için ise server lisansı satın alarak bir sunucu üzerinde bu işlemleri yaptırmak mümkün. İhtiyacınıza göre bir konumlandırma yapmak en doğrusu olacaktır diyebilirim.

İlk yazım, okuyanlar için böyle bir ürünün var olduğunu ve başlangıçta sorulabilecek sorulara yanıt bulmanız içindi. Umarım faydalı olur.

Saygılar.