Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Big Data Concepts &
Map-Reduce & Hadoop
Ankara JUG - Aralık 2014
Serkan ÖZAL
serkan@hazelcast.com
1
Serkan ÖZAL
Lisans : 2005 - 2009, @ Hacettepe Bil. Müh.
Master : 2010 - 2013, @ ODTÜ Bil. Müh.
Doktora : 2013 - ..., @ ODT...
Outline
● Big Data
● Scalability
● NoSQL
● Batch Data Processing
● Stream Data Processing
● Map-Reduce
● Hadoop
● HDFS
● A...
What is Big Data ???
En temel ve basit anlamıyla
uğraşması zor veri demektir.
● Big Data’nın Özellikleri
o Volume (Hacmi)
...
Scalability
● Çalışan bir sistemin işlem kapasitesinin
gereksinimlere göre büyütülebilip
küçültülebilmesidir.
● Scalabilit...
Big Data Concepts
● NoSQL
● Batch Data Processing
● Stream Data Processing
● Data Flow
● Cloud Computing
6
NoSQL
● Not Only SQL
● İlişkisel olmayan verileri tutmak için
tasarlanmıştır.
● Verinin belirli bir formatta olması gerekm...
NoSQL Databases
● Column Stores:
o HBase
● Key-Value Stores:
o Hazelcast, Infinispan, Redis, Terracotta, Coherence
o Cassa...
Batch Data Processing
● İşlenecek büyük miktarda veri vardır (TB’larca yada
PB’larca)
● İşlenecek veri offline’dır yani iş...
Batch Data Processing Frameworks
● Hadoop
● Hive
● Pig
● Presto
● Impala
● Spark
● Mahout
10
Stream Data Processing
● Batch data processing’in tersine veri sabit değildir
● Verinin miktarı önceden bilinmez
● Veri re...
Stream Data Procesing Frameworks
● Storm
● AWS Kinesis
● Akka
● SummingBird
● Kafka
● Samza
12
Data Flow Frameworks
● Cascading
● Oozie
● AWS Data Pipeline
13
Map-Reduce
● 2004 yılında Google tarafından yayınlanan bir makale
ile ortaya atılmış bir yazılım mimarisi pattern’idir.
● ...
Map
● Master node büyük veri setini daha küçük bloklar halinde mapper node’lara
atar.
● Mapper node’lar kendilerine atanan...
Reduce
● Map aşamasından sonra master node mapper node’lardan aldığı alt
problemlerin sonuçlarını key’lere göre gruplandır...
Map-Reduce for Babies
17
Map-Reduce for Academicians
18
Hadoop
● Distributed ve Fail-Safe veri depolama ve işleme için
kullanılır
● Open-Source under Apache License
● Temelde 2 b...
Hadoop 1 - Architecture
20
Hadoop 1 vs Hadoop 2 YARN
21
Hadoop 2 (YARN) - Architecture
22
HDFS
● HDFS, Google File System’den esinlenilerek
tasarlanmış distributed ve fault-tolerant bir
file system’dir.
● Veri bl...
HDFS Architecture
24
AWS
● AWS, Amazon’un sunduğu scalable, reliable, distributed cloud
computing servisleridir.
o Storage
o Computing
o Big Da...
AWS - S3
● Amazon’un Distributed File System servisidir.
● 1 byte’dan 5 terabyte’a kadar veri tutan object yazılıp
okunabi...
AWS EC2
● Amazon’un scalable CAAS (computing as a service)
servisidir.
● Esnek: Kapasite kolay bir şekilde arttırılıp azal...
AWS - EMR
28
Demo
● Hadoop üstünde çalışan 2 Map-Reduce demosu gösterilecektir:
o Number Frequency
o Log Data Processing
● Yazılan Hado...
Demo 1 - Number Frequency
● 128’er MB’lık 9 dosyadan oluşan bir dizindeki tüm dosyalarda geçen
sayıların ve bu sayıların k...
Demo 2 - Log Data Processing
● 128’er MB’lık 9 dosyadan oluşan bir dizindeki tüm dosyalarda geçen log
kayıtlarını ünceleyi...
Teşekkürler
32
Próxima SlideShare
Cargando en…5
×

Ankara JUG Big Data Presentation

1.061 visualizaciones

Publicado el

Presentation about Big Data Concepts, Map-Reduce and Hadoop for Ankara JUG December 2014 Meeting

Publicado en: Software
  • Sé el primero en comentar

Ankara JUG Big Data Presentation

  1. 1. Big Data Concepts & Map-Reduce & Hadoop Ankara JUG - Aralık 2014 Serkan ÖZAL serkan@hazelcast.com 1
  2. 2. Serkan ÖZAL Lisans : 2005 - 2009, @ Hacettepe Bil. Müh. Master : 2010 - 2013, @ ODTÜ Bil. Müh. Doktora : 2013 - ..., @ ODTÜ Bil. Müh. Technical Author @ Rebellabs Open-Source Contributor @ Oracle Coder @ Hazelcast github.com/serkan-ozal 2
  3. 3. Outline ● Big Data ● Scalability ● NoSQL ● Batch Data Processing ● Stream Data Processing ● Map-Reduce ● Hadoop ● HDFS ● AWS ● Demo 3
  4. 4. What is Big Data ??? En temel ve basit anlamıyla uğraşması zor veri demektir. ● Big Data’nın Özellikleri o Volume (Hacmi) o Velocity (Hızı) o Variety (Çeşitliliği) o Veracity (Belirsizliği) 4
  5. 5. Scalability ● Çalışan bir sistemin işlem kapasitesinin gereksinimlere göre büyütülebilip küçültülebilmesidir. ● Scalability: o Vertical Scalability: Daha fazla/az CPU, RAM, ... o Horizontal Scalability: Daha fazla/az makina ● Auto Scalable 5
  6. 6. Big Data Concepts ● NoSQL ● Batch Data Processing ● Stream Data Processing ● Data Flow ● Cloud Computing 6
  7. 7. NoSQL ● Not Only SQL ● İlişkisel olmayan verileri tutmak için tasarlanmıştır. ● Verinin belirli bir formatta olması gerekmez. ● Scalable ve fail-safe sistemlerdir. ● Genelde “UNION”, “JOIN” gibi ilişkisel sorguları desteklemezler. 7
  8. 8. NoSQL Databases ● Column Stores: o HBase ● Key-Value Stores: o Hazelcast, Infinispan, Redis, Terracotta, Coherence o Cassandra o Amazon DynamoDB ● Document Stores: o MongoDB o CouchDB ● Graph Databases: o Neo4J 8
  9. 9. Batch Data Processing ● İşlenecek büyük miktarda veri vardır (TB’larca yada PB’larca) ● İşlenecek veri offline’dır yani işlenecek veri miktarı baştan bilinir ve işlem süresince değişmez. ● Tek bir makinada işlenmesi günler, haftalar sürebilir (bu işlem süresince makinanın herhangi bir sebeple göçmediğini varsayıyoruz) Bu sebeple veri distributed olarak işlenmelidir. 9
  10. 10. Batch Data Processing Frameworks ● Hadoop ● Hive ● Pig ● Presto ● Impala ● Spark ● Mahout 10
  11. 11. Stream Data Processing ● Batch data processing’in tersine veri sabit değildir ● Verinin miktarı önceden bilinmez ● Veri real-time yada near real-time olarak işlenmelidir ● Sistemin yükü önceden kestirilemeyebilir ve zaman içinde değişiklik gösterebilir 11
  12. 12. Stream Data Procesing Frameworks ● Storm ● AWS Kinesis ● Akka ● SummingBird ● Kafka ● Samza 12
  13. 13. Data Flow Frameworks ● Cascading ● Oozie ● AWS Data Pipeline 13
  14. 14. Map-Reduce ● 2004 yılında Google tarafından yayınlanan bir makale ile ortaya atılmış bir yazılım mimarisi pattern’idir. ● Yapılacak işin daha küçük alt işlere bölünüp tüm cluster’da paralel şekilde yapılması esasına dayanır ● Cluster’daki her node diğer node’lardan bağımsız bir şekilde kendisine atanan veri seti üstünde kendisine atanan işi yapar. ● Temelde 2 fazdan oluşur o Map o Reduce 14
  15. 15. Map ● Master node büyük veri setini daha küçük bloklar halinde mapper node’lara atar. ● Mapper node’lar kendilerine atanan veri seti üstünde çözümlerini yapıp sonuçlarını master node’a gönderirler. function map(String name, String document): // name: document name // document: document contents for each word w in document: emit (w, 1) // emit(key, value) 15
  16. 16. Reduce ● Map aşamasından sonra master node mapper node’lardan aldığı alt problemlerin sonuçlarını key’lere göre gruplandırır. ● Key’lere göre gruplandırılmış sonuçları farklı reducer node’lara gönderir. ● Her reducer node aynı key’e ait alt sonuçları kullanarak o key’e ait genel sonucu üretir. function reduce(String word, Iterator partialCounts): // word: a word // partialCounts: a list of aggregated partial counts sum = 0 for each pc in partialCounts: sum += ParseInt(pc) emit (word, sum) 16
  17. 17. Map-Reduce for Babies 17
  18. 18. Map-Reduce for Academicians 18
  19. 19. Hadoop ● Distributed ve Fail-Safe veri depolama ve işleme için kullanılır ● Open-Source under Apache License ● Temelde 2 bileşenden oluşur. o HDFS: Distributed ve reliable file system bileşenidir. Data replicate biçimde farklı node’larda tutulur ve gerektiğinde bozulan replike datalar otomatik olarak onarılır. o MapReduce: Distributed ve fault-tolerant veri işleme bileşenidir. Tanımlanan “Mapper” ve “Reducer” task’ların distributed olarak işletilmesini ve monitor edilmesini yönetir. 19
  20. 20. Hadoop 1 - Architecture 20
  21. 21. Hadoop 1 vs Hadoop 2 YARN 21
  22. 22. Hadoop 2 (YARN) - Architecture 22
  23. 23. HDFS ● HDFS, Google File System’den esinlenilerek tasarlanmış distributed ve fault-tolerant bir file system’dir. ● Veri bloklara ayrılarak replike’ler halinde cluster üstünde distributed olarak tutulur. ● Temelde 2 tip node vardır: o Name Node: File system’in metadata’sını tutar o Data Node: Verinin kendisini tutar 23
  24. 24. HDFS Architecture 24
  25. 25. AWS ● AWS, Amazon’un sunduğu scalable, reliable, distributed cloud computing servisleridir. o Storage o Computing o Big Data (Map-Reduce, Streaming, Data Pipe Line, ...) o Network o ... ● Big Data için temel AWS bileşenleri: o AWS S3 o AWS EC2 o AWS EMR 25
  26. 26. AWS - S3 ● Amazon’un Distributed File System servisidir. ● 1 byte’dan 5 terabyte’a kadar veri tutan object yazılıp okunabilir. ● Object’ler bucket’lar içinde tutulur. ● Tutulan veriler için 99.999999999% dayanıklılık ve 99.99% devamlılık için tasarlanmıştır. ● Veriler şifrelenerek tutulabilir ve veri upload/download işlemleri de güvenli bağlantı üstünden yapılabilir. 26
  27. 27. AWS EC2 ● Amazon’un scalable CAAS (computing as a service) servisidir. ● Esnek: Kapasite kolay bir şekilde arttırılıp azaltılabilir. ● Biçimlendirilebilir: Birçok instance tipi (CPU, Memory, Storage), işletim sistemi ve yazılım paketi destekliyor ● Güvenilir: Her Amazon EC2 Region’da 99.95% oranında kullanılabilirlik ● Düşük Maliyet: Reserved Instance ve Spot Instance 27
  28. 28. AWS - EMR 28
  29. 29. Demo ● Hadoop üstünde çalışan 2 Map-Reduce demosu gösterilecektir: o Number Frequency o Log Data Processing ● Yazılan Hadoop uygulamaları build edilip “jar” şeklinde paketlenir. ● Daha sonra bu paketlenen uygulama AWS S3 üstüne upload edilir. ● AWS S3’e upload edilen uygulama burada AWS EMR servisi ile çalıştırılır. ● AWS EMR servisi üstünde çalışan Hadoop uygulaması kendisine AWS S3 üstünde belirtilen dizindeki veriler üstünde işlem yapar. ● Sonuçları yine kendisine belirtilen AWS S3 üstündeki dizine yazar. 29
  30. 30. Demo 1 - Number Frequency ● 128’er MB’lık 9 dosyadan oluşan bir dizindeki tüm dosyalarda geçen sayıların ve bu sayıların kaç defa geçtiğini bulan bir Map-Reduce uygulamasıdır. ● Soru açıklaması: https://github.com/serkan-ozal/ankarajug-bigdata- demo/blob/master/README.md#demo-1 ● Map-Reduce uygulaması kodları: https://github.com/serkan- ozal/ankarajug-bigdata- demo/tree/master/src/main/java/tr/com/jug/ankara/bigdata/demo/mapreduc e/numberfreq 30
  31. 31. Demo 2 - Log Data Processing ● 128’er MB’lık 9 dosyadan oluşan bir dizindeki tüm dosyalarda geçen log kayıtlarını ünceleyip belirtilen başlangıç ve bitiş tarihleri arasındaki log kayıt sayısını bulan bir Map-Reduce uygulamasıdır. ● Soru açıklaması: https://github.com/serkan-ozal/ankarajug-bigdata- demo/blob/master/README.md#demo-2 ● Map-Reduce uygulaması kodları: https://github.com/serkan- ozal/ankarajug-bigdata- demo/tree/master/src/main/java/tr/com/jug/ankara/bigdata/demo/mapreduc e/logdata 31
  32. 32. Teşekkürler 32

×