MapReduce
Apache Spark
Apache Spark bugünlerde ismini daha sık duymaya başladığımız, büyük veri işleme amaçlı bir diğer proje. Hadoop’tan 100 kat daha hızlı olmak gibi bir iddia ile birlikte, gelişmiş “Directed Acyclic Graph” motoruna sahip, Scala dili ile yazılmış ve bellek-içi (in-memory) veri işleme özellikleriyle bu iddiayı boşa çıkartmıyor gibi görünüyor. Özellikle Yapay Öğrenme algoritmalarının dağıtık implementasyonu konusunda Hadoop’tan daha performanslı olduğunu söyleyebiliriz. […]
ElasticSearch ve Pig Entegrasyonu
Pig ile sadece Hadoop üzerindeki verileri değil, MongoDB gibi farklı veri kaynaklarını da analiz edebileceğimizden bir yazımızda bahsetmiştik. Pig ile ElasticSearch üzerindeki verileri de analiz etmemiz mümkün. Aynı şekilde Hadoop üzerindeki verileri Pig aracılığı ile ElasticSearch üzerinde kolayca indekslemeniz ve analizler yapmanız oldukça kolay. Hazırlık Pig ile ElasticSearch entegrasyonu ile ilgili projeye GitHub üzerinden erişmeniz mümkün. Proje ile sadece […]
Pig üzerinden Hadoop ile MongoDB Entegrasyonu
Açık kaynaklı büyük veri teknolojilerinin en beğendiğim özelliği, birden fazla projeyi birlikte kullanabilmek. Bu sayede, farklı projelerin güçlü olduğu taraflardan faydalanarak ortaya daha büyük bir değer çıkartmak mümkün oluyor. Bu yazıda MongoDB ile Hadoop‘u Pig üzerinden entegre ederek nasıl kullanabileceğimize bir örnek vermeye çalışacağız. Hazırlık MongoDB’nin geliştirdiği connector sayesinde, MongoDB’deki verileri Hadoop üzerine taşımak ya da […]
Apache Pig
Apache Pig, Hadoop üzerindeki verileri işlemek için geliştilmiş, Pig Latin olarak adlandırılan basit bir dile sahip, açık kaynaklı bir projedir. 2006 yılında Yahoo tarafından geliştirilmeye başlanmıştır. MapReduce ile yapmak istediğiniz analizleri Pig ile daha kolay geliştirebilirsiniz. Ayrıca geliştirdiğiniz Pig kodları MapReduce programlarına dönüşmeden önce optimize edildiğinden normalden daha performanslı çalışacaktır. Pig’in en büyük özelliği ise, […]
Apache Hive
Apache Hive projesi SQL benzeri bir arayüz yardımıyla Hadoop üzerinde Java kullanmadan sorgulama ve analiz işlemlerini yapmak amacıyla Facebook tarafından geliştirilmiş, daha sonrasında Apache’ye devredilmiş açık kaynaklı bir projedir. Özellikle Veri Ambarı (Datawarehouse) uygulamalarını Hadoop kümeleri üzerinde geliştirebilmek için Hive projesi birçok firma tarafından kullanılmaktadır. Hive kurulumuna geçmeden önce Hadoop kurulumunun nasıl yapıldığını buradan inceleyebilirsiniz. […]
Hadoop 1.0.3 Kurulumu Adım Adım
Daha önceki yazımızda Cloudera’nın CDH3 sürümü olan Hadoop kurulumundan bahsetmiştik. Bu yazımızda da Apache‘nin son stabil sürümü olan 1.0.3 sürümünü paket kullanmadan elle nasıl kurulduğundan bahsedeceğiz. CDH3 kurulumunda sorun yaşayanlar da bu yazıdan faydalanabilirler. 1. Kurulumun öncesinde sisteminizde yüklü Java olması ve openssh-server ve rsync paketlerinin kurulması gerekiyor. sudo apt-get install ssh sudo apt-get install […]
Hadoop MapReduce Örnek Uygulama
Bu yazımızda Cloudera CDH3 Hadoop Kurulumu yazımızın devamı olarak Hadoop üzerinde Java dili ile örnek bir MapReduce uygulamasının nasıl yazıldığını incelemeye çalışacağız. Hadoop platformu da Java dili ile geliştirildiği için MapReduce uygulamaları da temelde Java ile geliştiriliyor. Ancak Hadoop streaming özelliği sayesinde C, Python gibi dillerin yanı sıra Pig diliyle de yüksek seviyede MapReduce uygulamaları yazmak […]
Cloudera CDH3 Hadoop Kurulumu
Hadoop projesini geliştiren birçok firma mevcut, Cloudera da bunlardan bir tanesi. Bu yazıda Hadoop mimarisini öğrenmek, araştırmalar ve geliştirmeler yapmak amacıyla Cloudera‘nın CDH3 ismiyle yayınladığı Hadoop sürümünü Ubuntu işletim sistemine nasıl kurulacağını anlatmaya çalışacağız. Hadoop dağıtık olmayan (standalone), dağıtık mimariye uygun ancak tek sunucuda çalışan (pseudo distributed) ve dağıtık (distributed) olmak üzere üç farklı modda […]
MongoDB ile MapReduce Kullanımı
MongoDB document-oriented mimariye sahip NoSQL veritabanıdır. MongoDB üzerinde bildiğimiz klasik veritabanlarındaki gibi tablo yapısına sahip değil. Verilerimizi BSON(Binary JSON) şeklinde tutuyor. Tablo yapısı yok onun yerine collectionlar mevcut. (bkz: MongoDB NoSQL Veritabanı) MongoDB üzerinde MapReduce işlemleri javascript ile yapılmaktadır. Klasik veritabanlarındaki count, sum, having gibi işlemleri yapmak için MongoDB üzerinde MapReduce kullanıyoruz. (bkz: MapReduce Nedir?) Örnek product collectionında bulunan verilerim aşağıdaki […]
MapReduce nedir?
MapReduce dağıtık mimari üzerinde çok büyük verilerin kolay bir şekilde analiz edilebilmesini sağlayan bir sistemdir. 2004 yılında Google tarafından duyurulan bu sistem aslen 1960’lı yıllarda geliştirilen fonksiyonel programlamadaki map ve reduce fonksiyonlarından esinlenmiştir. Veriler işlenirken bu iki fonksiyon kullanılır. Map aşamasında ana (master) düğüm (node) verileri alıp daha ufak parçalara ayırarak işçi (worker) düğümlere dağıtır. İşçi düğümler bu işleri tamamladıkça […]