Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hadoop,Pig,Hive ve Oozie ile Büyük Veri Analizi

1,070 views

Published on

Hadoop,Pig,Hive ve Oozie ile Büyük Veri Analizi

Published in: Data & Analytics
  • Be the first to comment

Hadoop,Pig,Hive ve Oozie ile Büyük Veri Analizi

  1. 1. Pig, Hive, Oozie ve Sqoop ile Büyük Veri Analizi
  2. 2. Hakkımda İstanbul Ünv . Bilgisayar Müh 2+ Comodo 8+ Java , Java EE 2+ Hadoop,Pig,Hive,Oozie,Spark SERKAN SAKINMAZ serkansakinmaz@gmail.com http://www.buyukveri.co/
  3. 3. İçerik Örnek veriler (loglar) Veriler üzerinden ne tür raporlar talep ediliyor? Veri analizinde kullanılan teknolojiler Pig , Hive , Oozie , Sqoop , Hue Soru & Cevaplar
  4. 4. Toplanan Örnek Veriler
  5. 5. Log özellikleri  Log lar anlık olarak toplanıyor  Her log çeşidi farklı bir topic altından HDFS üzerinde farklı dosyalara kopyalanıyor  browsed , click , crash_reports , pc_info …  Bir topic altından günlük 20 milyona yakın data toplanabiliyor  Saatlik , günlük , haftalık , aylık bazda raporlar talep ediliyor  Log lar HDFS sisteminde saklanıyor  Her bir log un 3 farklı yerde kopyası saklanıyor (replication factor )  Log dosyaları SnappyCodec ile sıkıştırılıyor (Average compression rate %81)
  6. 6. Örnek Analizler  Ülke bazında tekil ziyaretçi sayısı  Son bir saat içerisinde 50 den fazla reklama tıklayan kullanıcılar  Referer_url bilgisinden arama yapılan anahtar kelimelerin bulunması  Kullanıcıların günlük olarak browser kullanım süreleri Ülke ve kategori bazında web sitelerinde gezinme oranları Shopping , travel , news …
  7. 7. Kullanılan teknolojiler Apache Pig Apache Hadoop Apache Hive Apache Oozie Apache Sqoop
  8. 8. Apache Pig HDFS (Hadoop distributed file system ) üzerindeki verileri işlemek için kullanılan platformdur Verileri işlemek için Pig Latin ismi verilen scripting dili kullanılmaktadır
  9. 9. Apache Pig
  10. 10. Apache Pig Veri Tipleri  int , long , float , double , chararray , bytearray , boolean Fonksiyonlar  AVG , CONCAT , COUNT , MAX , MIN , SIZE , SUM , TOKENIZE Operatörler Aritmetik operatörler + , - , * , / , % , ?: Karşılaştırma operatörleri == , != , < , > , <= , >= , matches Mantıksal operatörler AND , OR , NOT Null operatörleri is null , is not null İlişkisel operatörler JOIN , LIMIT , LOAD , GROUP , FOREACH , FILTER , DISTINCT , ORDER BY , STORE
  11. 11. Apache Pig - Distinct
  12. 12. Apache Pig - Filter
  13. 13. Apache Pig – Group , Foreach , Avg
  14. 14. Apache Pig – Count
  15. 15. Apache Pig – Join
  16. 16. Apache Pig – Union
  17. 17. Apache Pig – Store
  18. 18. Apache Pig – File Commands
  19. 19. Apache Pig – UDF(User Defined Functions) Adım 1 - Java ile maven projesi oluşturulur Adım 2 - pig ve hadoop-core dependency ler eklenir Adım 3 - Örnek java program Adım 4 - jar dosyası export edilir ve hdfs sistemine yüklenir
  20. 20. Apache Pig – UDF(User Defined Functions)
  21. 21. Apache Hive Apache Hive ; büyük verileri işlememizi sağlayan SQL yapısına benzer açık kaynak kodlu kütüphanedir Örnek sorgular ; SELECT COUNT(1) FROM www_access; SELECT COUNT(distinct ip) FROM www_access WHERE url=‘www.google.com’; SELECT ip, COUNT(1) FROM www_access GROUP BY ip LIMIT 30; SELECT ip, COUNT(1) AS cnt FROM www_access GROUP BY ip ORDER BY cnt DESC LIMIT 30;
  22. 22. Apache Hive – External Table  select count(1) as cnt, country from browsed where log_date = '2016-01-11' and type='search' group by country; CREATE EXTERNAL TABLE browsed( id string, date_time string, visitor_guid string, referer_url string, type str'ng) PARTITIONED BY (log_date string) ROW FORMAT DELIMITED FIELDS TERMINATED BY 't'; ALTER TABLE browsed ADD PARTITION (log_date = '2016-01-01') LOCATION '/data/stats/searches/2016_01_11/';
  23. 23. Pig , Hive , MapReduce Pig  Script dili  Java ile MapReduce geliştirmenin alternatifi Hive  SQL tabanlı  Basit raporlamalar için daha uygun . Kompleks işlemler için uygun değil  Metadata bilgisi tutabiliyor MapReduce  Hive ve Pig e göre daha fazla geliştirme eforu gerekli  Pig ve hive ile geliştirilmiş kodlara göre daha hızlı çalışıyor  Join işlemleri daha zahmetli
  24. 24. Apache Oozie Büyük veri işlemlerini zamanlamak ve sıralandırmak için kullanılır
  25. 25. Apache Oozie Belirli periyotlarda iş akışı çalıştırılabilir  Saatlik , günlük , aylık , haftalık İşlemler bittikten sonra mail atabilir Belirli bir sırada iş akışı çalıştırılabilir switch-case gibi control ifadesi eklenebilir Paralel aksiyonlar çalıştırılabilir ve sonrasında bunlar birleştirilebilir Çalıştırılabilen aksiyonlar  Pig , shell , hive , spark , java , map reduce , sqoop , fs (hdfs) ,ssh
  26. 26. Apache Hue Hadoop ekosistemindeki bazı teknolojilerin kullanımını kolaylaştırmak için web arayüzü sunan açık kaynak kodlu bir kütüphanedir  Kullanılabilen teknolojiler  Hive , Oozie , Imlala , Pig , Oozie
  27. 27. Apache Sqoop Hadoop ile ilişkisel veritabanı arasında verilerin aktarılmasını sağlayan açık kaynak kodlu bir kütüphanedir sqoop-import --connect jdbc:mysql://$1/admarket --username $2 --password $3 --table 'domains_table' --delete-target-dir --target-dir $4 --columns 'adultdomain'
  28. 28. Sorular ?

×