Data Profiling – 1 (w/ Pandas Profiling)

Veri setinin alfanümerik bir yığın olduğu o ilk anda ne yapılmalıdır? Yapılması gereken ilk şey veri seti üzerinden anlamlı desenler çıkarılması için analiz etmek olacaktır. EDA (Exploratory Data Analysis) yada Data Profiling kavramıda bu noktada hangi analiz adımlarının kullanılabileceğini toparlayan bir üst başlık niteliği taşır. Okumaya devam et

Apache Spark – 1 (Spark SQL w/ Jupyter)

Büyük veri setleri üzerinde performanslı analiz ve uygulamalar geliştirme imkanı sunan in-memory hesaplama yeteneğine sahip merkezi bir analitik işleme motorudur. Kendi sayfasındaki açıklaması da şöyledir; “Apache Spark™ is a unified analytics engine for large-scale data processing.” Okumaya devam et

Template Engine (Jinja2 vs Mako)

Jinja2 ve Mako; Python projelerinde kullanımı en yaygın olan template engine modülleridir. Özellikle HTML, YAML gibi scriptlerde tekrarlı yada belirli kurallara göre üretilen scriptin dinamik olarak üretilmesine imkan sunarlar. Ancak bunları kullanmak için template’inizin herhangi bir syntax yapısına sahip bir script olması zorunlu değildir. Modüllerdeki ön tanımlı yapılarla çakışmayan herhangi bir text, template olarak kullanılabilir. Okumaya devam et

Apache Airflow – 3 (Multi Task)

Airflow’u yalnızca sequential (sıralı) bir akış (DAG) yaratmak için kullanmak yüksek hacimli iş akışı içeren bir ortamda verimsiz olacaktır. Bu nedenle; “Paralel süreçlerin de tanımlanabildiği bir yapının kurulması ve işletilmesi nasıl olur?” sorusu oldukça önemlidir. Bu noktada Airflow executor çeşitleri ile farklı alternatifler sunmaktadır. Okumaya devam et

Apache Airflow – 2 (Single Task)

Airflow’da bir akış tanımlamak için Python dilinin tercih edilmiş olması veri özelinde oldukça değerli bir durum. Python projesinin içine apache-airflow modülünü install edip ardından kullanılacak dosyaya import edilmesi DAG tanımlamaya başlamak için yeterli olacaktır. Okumaya devam et

Apache Airflow – 1 (Quickstart)

Airflow’un kendi sayfasında da yaptığı tanım konuyu anlamak  adına oldukça yeterli: “Airflow bir data streaming ürünü değildir. Task’lar verileri birinden diğerine taşımaz (ancak meta veri alışverişinde bulunabilir!). Airflow’u; Spark Streaming veya Storm ile değil, Oozie veya Azkaban ile karşılaştırmak daha doğru olacaktır.”. Ne olduğunu bilmek kadar ne olmadığını bilmekte önemlidir. 😉 Okumaya devam et

Apache Superset

Veriyi ilk bakışta anlamlandırmak her zaman mümkün olmayabilir özellikle hacimli boyutlara ulaşınca bunu kolaylaştırmanın tek yolu onu anlamlı bir görsele dönüştürmektir. Veri görselleştirme için açık kaynak kodlu olarak sunulan Apache Superset‘te v1 duyurusuyla birlikte oldukça iyi bir alternatife dönüşmüş durumda, peki nasıl kurulur ve kullanılır? Okumaya devam et

Rest in Python – 5 (ORM with SQLAlchemy)

Veri tabanı üzerinde çalışan kod parçalarında sql sorguları bulunması bir çok açıdan doğru olmayan bir yaklaşımdır. SQL Injection dahil fazlaca açık kapı bırakmak bir yana nesne tabanlı geliştirme yapmak noktasında da sorunlu bir durum yaratır. Bu sorunsalı aşmak için bir çok dilde veri tabanı işlemlerinde erişim yöntemi olarak ORM (Object Relational Mapping) kullanılır. Python’da da bu mantığı kullanmak için en yaygın kütüphane SQLAlchemy kütüphanesidir. Okumaya devam et