SlideShare une entreprise Scribd logo
1  sur  32
Pig, Hive, Oozie ve Sqoop
ile Büyük Veri Analizi
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/
İçerik
Örnek veriler (loglar)
Veriler üzerinden ne tür raporlar talep ediliyor?
Veri analizinde kullanılan teknolojiler
Pig , Hive , Oozie , Sqoop , Hue
Soru & Cevaplar
Toplanan Örnek Veriler
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)
Ö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 …
Kullanılan teknolojiler
Apache Pig
Apache Hadoop
Apache Hive
Apache Oozie
Apache Sqoop
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
Apache Pig
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
Apache Pig - Distinct
Apache Pig - Filter
Apache Pig – Group , Foreach , Avg
Apache Pig – Count
Apache Pig – Join
Apache Pig – Union
Apache Pig – Store
Apache Pig – File Commands
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
Apache Pig – UDF(User Defined Functions)
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;
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/';
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
Apache Oozie
Büyük veri işlemlerini zamanlamak ve sıralandırmak için kullanılır
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
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
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'
Sorular ?

Contenu connexe

Tendances

Tendances (15)

Hadoop @ devveri.com
Hadoop @ devveri.comHadoop @ devveri.com
Hadoop @ devveri.com
 
Pig ve Hive ile Hadoop üzerinde Veri Analizi
Pig ve Hive ile Hadoop üzerinde Veri AnaliziPig ve Hive ile Hadoop üzerinde Veri Analizi
Pig ve Hive ile Hadoop üzerinde Veri Analizi
 
Berkeley Data Analytics Stack Genel Bakış
Berkeley Data Analytics Stack Genel Bakış Berkeley Data Analytics Stack Genel Bakış
Berkeley Data Analytics Stack Genel Bakış
 
Hbase Kullanım Senaryoları
Hbase Kullanım SenaryolarıHbase Kullanım Senaryoları
Hbase Kullanım Senaryoları
 
Linkle mimari
Linkle mimariLinkle mimari
Linkle mimari
 
Mongo sunum
Mongo sunumMongo sunum
Mongo sunum
 
Ceph Türkiye 3.Meetup Ankara: Ceph Tasarımında Dikkat Edilecek Hususlar
Ceph Türkiye 3.Meetup Ankara: Ceph Tasarımında Dikkat Edilecek HususlarCeph Türkiye 3.Meetup Ankara: Ceph Tasarımında Dikkat Edilecek Hususlar
Ceph Türkiye 3.Meetup Ankara: Ceph Tasarımında Dikkat Edilecek Hususlar
 
Istanbul Datascience Academy Talks
Istanbul Datascience Academy TalksIstanbul Datascience Academy Talks
Istanbul Datascience Academy Talks
 
Hadoop nedir
Hadoop nedirHadoop nedir
Hadoop nedir
 
Nosql & MongoDB
Nosql & MongoDBNosql & MongoDB
Nosql & MongoDB
 
Ceph Türkiye 1.meetup Ankara
Ceph Türkiye 1.meetup AnkaraCeph Türkiye 1.meetup Ankara
Ceph Türkiye 1.meetup Ankara
 
NoSQL Sunumu
NoSQL SunumuNoSQL Sunumu
NoSQL Sunumu
 
OpenStack'te Ceph Kullanımı ve Performans Optimizasyonu
OpenStack'te Ceph Kullanımı ve Performans OptimizasyonuOpenStack'te Ceph Kullanımı ve Performans Optimizasyonu
OpenStack'te Ceph Kullanımı ve Performans Optimizasyonu
 
Ceph Türkiye 7. Meetup Ankara: Ceph Temelleri ve CRUSH MAP Yönetimi
Ceph Türkiye 7. Meetup Ankara: Ceph Temelleri ve CRUSH MAP YönetimiCeph Türkiye 7. Meetup Ankara: Ceph Temelleri ve CRUSH MAP Yönetimi
Ceph Türkiye 7. Meetup Ankara: Ceph Temelleri ve CRUSH MAP Yönetimi
 
OpenStack Türkiye 14. Meetup Ankara: Yeni Başlayanlar için OpenStack
OpenStack Türkiye 14. Meetup Ankara: Yeni Başlayanlar için OpenStackOpenStack Türkiye 14. Meetup Ankara: Yeni Başlayanlar için OpenStack
OpenStack Türkiye 14. Meetup Ankara: Yeni Başlayanlar için OpenStack
 

En vedette

Görüntü işleme
Görüntü işlemeGörüntü işleme
Görüntü işleme
Erol Dizdar
 

En vedette (20)

Liselere Yazılım ve Siber Güvenlik Farkındalığı Sunumu
Liselere Yazılım ve Siber Güvenlik Farkındalığı SunumuLiselere Yazılım ve Siber Güvenlik Farkındalığı Sunumu
Liselere Yazılım ve Siber Güvenlik Farkındalığı Sunumu
 
Ruby Programlama Dili
Ruby Programlama DiliRuby Programlama Dili
Ruby Programlama Dili
 
Open cv kütüphanesi
Open cv kütüphanesiOpen cv kütüphanesi
Open cv kütüphanesi
 
Nmap Kullanım Kitapçığı
Nmap Kullanım KitapçığıNmap Kullanım Kitapçığı
Nmap Kullanım Kitapçığı
 
Büyük Veri ve Risk Yönetimi
Büyük Veri ve Risk YönetimiBüyük Veri ve Risk Yönetimi
Büyük Veri ve Risk Yönetimi
 
Python İle Ağ Programlama
Python İle Ağ ProgramlamaPython İle Ağ Programlama
Python İle Ağ Programlama
 
Yapay Zeka
Yapay ZekaYapay Zeka
Yapay Zeka
 
Metasploit El Kitabı
Metasploit El KitabıMetasploit El Kitabı
Metasploit El Kitabı
 
BGA CTF Ethical Hacking Yarışması Çözümleri
BGA CTF Ethical Hacking Yarışması ÇözümleriBGA CTF Ethical Hacking Yarışması Çözümleri
BGA CTF Ethical Hacking Yarışması Çözümleri
 
Ruby - Dünyanın En Güzel Programlama Dili
Ruby - Dünyanın En Güzel Programlama DiliRuby - Dünyanın En Güzel Programlama Dili
Ruby - Dünyanın En Güzel Programlama Dili
 
Python mu Java mı?
Python mu Java mı?Python mu Java mı?
Python mu Java mı?
 
10-Kablosuz Ağlardaki Zaafiyetler
10-Kablosuz Ağlardaki Zaafiyetler10-Kablosuz Ağlardaki Zaafiyetler
10-Kablosuz Ağlardaki Zaafiyetler
 
Bigdata Nedir? Hadoop Nedir? MapReduce Nedir? Big Data.
Bigdata Nedir? Hadoop Nedir? MapReduce Nedir? Big Data.Bigdata Nedir? Hadoop Nedir? MapReduce Nedir? Big Data.
Bigdata Nedir? Hadoop Nedir? MapReduce Nedir? Big Data.
 
Man in the Middle Atack (Ortadaki Adam Saldırısı)
Man in the Middle Atack (Ortadaki Adam Saldırısı)Man in the Middle Atack (Ortadaki Adam Saldırısı)
Man in the Middle Atack (Ortadaki Adam Saldırısı)
 
Görüntü işleme - Image Processing
Görüntü işleme - Image ProcessingGörüntü işleme - Image Processing
Görüntü işleme - Image Processing
 
Görüntü işleme
Görüntü işlemeGörüntü işleme
Görüntü işleme
 
EXPLOIT POST EXPLOITATION
EXPLOIT POST EXPLOITATIONEXPLOIT POST EXPLOITATION
EXPLOIT POST EXPLOITATION
 
Biyometrik Tanıma Sistemleri
Biyometrik Tanıma SistemleriBiyometrik Tanıma Sistemleri
Biyometrik Tanıma Sistemleri
 
Tcpdump ile Trafik Analizi(Sniffing)
Tcpdump ile Trafik Analizi(Sniffing)Tcpdump ile Trafik Analizi(Sniffing)
Tcpdump ile Trafik Analizi(Sniffing)
 
Yapay Zeka
Yapay ZekaYapay Zeka
Yapay Zeka
 

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

Kod günleri veritabnı
Kod günleri veritabnıKod günleri veritabnı
Kod günleri veritabnı
Mustafa Tepe
 
Php dokumani
Php dokumaniPhp dokumani
Php dokumani
sersld89
 
Php uzaktan-kurs
Php uzaktan-kursPhp uzaktan-kurs
Php uzaktan-kurs
sersld89
 

Similaire à Hadoop,Pig,Hive ve Oozie ile Büyük Veri Analizi (20)

TBD Bilişim 2014 Veri Analitiği
TBD Bilişim 2014 Veri AnalitiğiTBD Bilişim 2014 Veri Analitiği
TBD Bilişim 2014 Veri Analitiği
 
Veri işleme üzerine, Hakan Sarıbıyık
Veri işleme üzerine, Hakan SarıbıyıkVeri işleme üzerine, Hakan Sarıbıyık
Veri işleme üzerine, Hakan Sarıbıyık
 
Hepsistream real time click-stream data analytics platform
Hepsistream real time click-stream  data analytics platformHepsistream real time click-stream  data analytics platform
Hepsistream real time click-stream data analytics platform
 
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
 
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
 
Kod günleri veritabnı
Kod günleri veritabnıKod günleri veritabnı
Kod günleri veritabnı
 
Kod günleri veritabnı
Kod günleri veritabnıKod günleri veritabnı
Kod günleri veritabnı
 
Berkeley Data Analytics Stack Genel Bakış
Berkeley Data Analytics Stack Genel BakışBerkeley Data Analytics Stack Genel Bakış
Berkeley Data Analytics Stack Genel Bakış
 
Dspace Migration and Dspace Piwik Integration
Dspace Migration and Dspace Piwik IntegrationDspace Migration and Dspace Piwik Integration
Dspace Migration and Dspace Piwik Integration
 
WP REST API ve WordPress Ekosisteminin Geleceği
WP REST API ve WordPress Ekosisteminin GeleceğiWP REST API ve WordPress Ekosisteminin Geleceği
WP REST API ve WordPress Ekosisteminin Geleceği
 
Dspace Veri Aktarımı, Analitik, Sosyal Ağlar, Scopus Entegrasyonu
Dspace Veri Aktarımı, Analitik, Sosyal Ağlar, Scopus EntegrasyonuDspace Veri Aktarımı, Analitik, Sosyal Ağlar, Scopus Entegrasyonu
Dspace Veri Aktarımı, Analitik, Sosyal Ağlar, Scopus Entegrasyonu
 
PHPkonf'15 - PHP Uygulamanızı Güçlendirin
PHPkonf'15 - PHP Uygulamanızı GüçlendirinPHPkonf'15 - PHP Uygulamanızı Güçlendirin
PHPkonf'15 - PHP Uygulamanızı Güçlendirin
 
Php dokumani
Php dokumaniPhp dokumani
Php dokumani
 
Python programlama
Python programlamaPython programlama
Python programlama
 
NodeJS ve API Tasarım Temelleri
NodeJS ve API Tasarım TemelleriNodeJS ve API Tasarım Temelleri
NodeJS ve API Tasarım Temelleri
 
Php indir
Php indirPhp indir
Php indir
 
Php uzaktan-kurs
Php uzaktan-kursPhp uzaktan-kurs
Php uzaktan-kurs
 
WordPress ile buyuk olcekli siteler
WordPress ile buyuk olcekli sitelerWordPress ile buyuk olcekli siteler
WordPress ile buyuk olcekli siteler
 
Php odevi
Php odeviPhp odevi
Php odevi
 
Big Data Analytics
Big Data AnalyticsBig Data Analytics
Big Data Analytics
 

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

  • 1. Pig, Hive, Oozie ve Sqoop ile Büyük Veri Analizi
  • 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. İçerik Örnek veriler (loglar) Veriler üzerinden ne tür raporlar talep ediliyor? Veri analizinde kullanılan teknolojiler Pig , Hive , Oozie , Sqoop , Hue Soru & Cevaplar
  • 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. Ö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. Kullanılan teknolojiler Apache Pig Apache Hadoop Apache Hive Apache Oozie Apache Sqoop
  • 8.
  • 9. 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
  • 11. 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
  • 12. Apache Pig - Distinct
  • 13. Apache Pig - Filter
  • 14. Apache Pig – Group , Foreach , Avg
  • 15. Apache Pig – Count
  • 17. Apache Pig – Union
  • 18. Apache Pig – Store
  • 19. Apache Pig – File Commands
  • 20. 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
  • 21. Apache Pig – UDF(User Defined Functions)
  • 22. 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;
  • 23. 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/';
  • 24. 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
  • 25. Apache Oozie Büyük veri işlemlerini zamanlamak ve sıralandırmak için kullanılır
  • 26. 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
  • 27.
  • 28. 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
  • 29.
  • 30. 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'
  • 31.