Büyük Veri Analitiği (Big Data Analytics)

Benzer belgeler
Büyük, Dağıtık, Veri Yoğunluklu Uygulamalarda Programlama Paradigmaları

Büyük Veri Analitiği (Big Data Analytics)

Büyük Veri Analitiği (Big Data Analytics)

Büyük Veri Analitiği (Big Data Analytics)

Büyük Veri de Türkiye den Uygulama Örnekleri Dr. Güven Fidan

Büyük Veri Analitiği (Big Data Analytics)

Büyük Veri İçin İstatistiksel Öğrenme (Statistical Learning for Big Data)

Büyük Veri Analitiği (Big Data Analytics)

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BM-311 Bilgisayar Mimarisi

VERİ MADENCİLİĞİ Metin Madenciliği

MongoDB. Doğan Aydın. Eylül, 2011

Büyük Veri İçin İstatistiksel Öğrenme (Statistical Learning for Big Data)

BİL-142 Bilgisayar Programlama II

Algoritma Geliştirme ve Veri Yapıları 10 Graf Veri Modeli. Mustafa Kemal Üniversitesi

BM-311 Bilgisayar Mimarisi

Büyük Veri Analitiği (Big Data Analytics)

Cluster i Linux'ta Kümeleme Özgür Yazılım ve Açık Kaynak G 2006 Ali Erdinç Köroğlu

BİL-142 Bilgisayar Programlama II

ALGORİTMA VE PROGRAMLAMA I

8.Konu Vektör uzayları, Alt Uzaylar

Bu kısımda işlem adı verilen özel bir fonksiyon çeşidini ve işlemlerin önemli özelliklerini inceleyeceğiz.

İşletim Sistemleri (Operating Systems)

Esnek Hesaplamaya Giriş

Web Madenciliği (Web Mining)

Büyük Veri İçin İstatistiksel Öğrenme (Statistical Learning for Big Data)

BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER

Birden Çok Tabloda Sorgulama (Join)

Graflar bilgi parçaları arasındaki ilişkileri gösterirler.

BLM 210 PROGRAMLAMA LABORATUVARI II PROJELERİ

BİLGİSAYAR PROGRAMLAMA DERSİ

Ağaç (Tree) Veri Modeli

Web tabanlı altyapı sayesinde her cihazdan erişilebilir ve düzenlenebilir dokümanlar oluşturulup anında paylaşılabilir.

Fiziksel Veritabanı Modelleme

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

m=n şeklindeki matrislere kare matris adı verilir. şeklindeki matrislere ise sütun matrisi denir. şeklindeki A matrisi bir kare matristir.

Büyük Veri Analitiği (Big Data Analytics)

Arama metodlarında temel işlem anahtarları karşılaştırmaktır.

Nesne Yönelimli Programlama

11.Hafta En kısa yollar I-II-III Devam. Negatif Ağırlıklı En Kısa Yollar Doğruluk Çözümleme

Graf Veri Modeli. Düğümler kümesi. Kenarlar kümesi

ile LOGO Ticari Yazılım Entegrasyon Kullanım Kılavuzu

Kullanıcılar için EGEE ve TR-Grid araçları

Temel Kavramlar. (r) Sıfırdan farklı kompleks sayılar kümesi: C. (i) Rasyonel sayılar kümesi: Q = { a b

GENETİK ALGORİTMA ÖZNUR CENGİZ HİLAL KOCA

Çanakkale Onsekiz Mart Üniversitesi. Bilgisayar Mühendisliği Bölümü

Veritabanı. Ders 2 VERİTABANI

PAPERWORK TEKNİK MİMARİ

Bilgisayar İşletim Sistemleri BLG 312

ALGORİTMA VE PROGRAMLAMA I

BM-311 Bilgisayar Mimarisi

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

HASTANE OTOMASYONU VERİ TABANI YÖNETİM SİSTEMLERİ TEMEL VERİTABANI KAVRAMLARI

2.3. MATRİSLER Matris Tanımlama

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü

.:: BÖLÜM I ::. MATRİS ve DETERMİNANT

Web Madenciliği (Web Mining)

Web Madenciliği (Web Mining)

Data Science Boot Camp

Bilgisayar İşletim Sistemleri BLG 312

BM208- Nesneye Dayalı Analiz ve Tasarım. Sunum 7

VERİ MADENCİLİĞİ (Web Madenciliği)

YIĞINLAR YIĞINLAR. Yığın İşlemleri Postfix, Prefix, Infix. G. Ü. Bilgisayar Mühendisliği Bölümü

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI

GENETİK ALGORİTMALAR BÜŞRA GÜRACAR

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI

2 İlişkisel Veritabanı Tasarımı. Veritabanı 1

Optik Sürücüler CD/CD-ROM DVD HD-DVD/BLU-RAY DİSK Disket Monitör LCD LED Projeksiyon Klavye Mouse Mikrofon Tarayıcı

Chapter 8 Yazılım Testi. Lecture 1. Chapter 8 Software testing

İçerik. Apache Hadoop Project

10.Konu Tam sayıların inşası

İleri Diferansiyel Denklemler

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

İki Boyutlu Yapılar için Doğrudan Rijitlik Metodu (Direct Stiffness Method) (İleri Yapı Statiği II. Kısım)

DOSYA ORGANİZASYONU. Doğrudan erişimli dosya organizasyonu ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

İletişim Ağları Communication Networks

NX Motion Simulation:

BİL-142 Bilgisayar Programlama II

Dr. Fatih AY Tel: fatihay@fatihay.net

KABA KÜME TEORİSİ (Rough Set Theory) Dr. Sedat TELÇEKEN

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları

Sabit ve Taşınabilir Diskler BÖLÜM-2 Pata Diskler İçin Master-Slave Ayarları Disk Biçimlendirme Harici Diskler Olası Sabit Disk Arızaları RAID

08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba

Büyük Veri. Yrd. Doç. Dr. Özgür Yılmazel Gökhan Çapan Anadolu Üniversitesi

Anahtar Kelimeler: Hadoop, Map Reduce, Hdfs, Map Reduce Performans Parametreleri,

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#3: ALGORİTMA ANALİZİ#2

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (

Veri Yönetiminde Son Nokta. Sedat Zencirci, Teknoloji Satış Danışmanlığı Direktörü, Orta Asya ve Türkiye

Bir özvektörün sıfırdan farklı herhangi bri sabitle çarpımı yine bir özvektördür.

Büyük Veri Yolculuğu. Tayfun YALÇINKAYA Kadir Has Üniversitesi Mühendislik ve Doğa Bilimleri Fakültesi Bilgisayar Mühendisliği

BÜYÜK VERİ. Abdulkadir ŞAN Proje Yöneticisi 7/1/2014 VERİ SİSTEMLERİ. Anayurt Güvenliği Md. Yrd. Metin Madenciliği ve Kaynaştırma Sistemleri

Sembolik Programlama1. Gün. Sembolik Programlama. 20 Eylül 2011

Görsel Programlama DERS 04. Görsel Programlama - Ders04/ 1

III. ULAKNET Eğitim Çalıştayı. Üniversiteler Arası Yüksek Erişilebilirlik. Ali Erdinç Köroğlu Necdet Yücel

Web Madenciliği (Web Mining)

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

BTP 209 SİSTEM ANALİZİ VE TASARIMI

Transkript:

Büyük Veri Analitiği (Big Data Analytics) M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Bu dersin sunumları, Mining of Massive Datasets, Jure Leskovec, Anand Rajaraman, Jeffrey David Ullman, Stanford University, 2011. kitabı kullanılarak hazırlanmıştır. Konular ve Yazılım Kümesi işlemleri - Matris Çarpımı 2 1

MapReduce ve Yazılım Kümesi Günümüz veri madenciliği uygulamaları, çok büyük boyutlu verilerin hızlı şekilde yönetilmesini gerektirmektedir. Çoğu uygulamada, veri son derece düzgün yapıdadır ve eş zamanlı çalışmayı destekler. Web sayfalarının ranking işleminde boyutları milyarları bulan matrislerin çarpımı yapılmaktadır. Sosyal ağlarda arkadaş arama işleminde milyonlarca düğüm (node) ve milyarlarca bağlantıdan (edge) oluşan graflar kullanılır. Bu tür uygulamalar için eşzamanlı çalışmayı destekleyen programlama sistemleri geliştirilmiştir. Bu sistemler Ethernet ağı üzerinden birbirine bağlı hesaplama düğümlerinden oluşabilir ve dağıtık dosya sistemi (distributed file system) kullanırlar. 3 MapReduce ve Yazılım Kümesi Dağıtık dosya sistemleri için yüksek seviyeli programlama sistemleri geliştirilmiştir. Bu yeni programlama sistemlerinin temelinde MapReduce programları vardır. büyük ölçekli verilerde etkin hesaplamayı sağlar ve hesaplama sırasındaki donanımsal hataları tolere edebilir. programları yüksek seviyeli programlama dilleriyle oluşturulabilir. geliştirilirken SQL kullanılabilir. 4 2

Konular ve Yazılım Kümesi işlemleri - Matris Çarpımı 5 Dağıtık Dosya Sistemleri Çoğu işlem, bir CPU, cache ve lokal disk kullanılarak gerçekleştirilir. Geçmişte, paralel işlem uygulamaları çok işlemcili ve özel donanımlı paralel bilgisayarlarla gerçekleştirilmekteydi. Büyük ölçekli Web servislerinin yaygınlaşmasıyla birlikte, birbirine bağlı olmayan çok sayıda node üzerinde işlemler yapılmaktadır. Bu tür işlem düğümleri özel amaçlı bilgisayarlara göre çok düşük maliyete sahiptir. Bu sistemler, dağıtık ve paralel çalışmanın avantajlarına sahiptir, ancak çok sayıda bağımsız bileşenden kaynaklanan güvenilirlik (reliability) problemleriyle karşı karşıyadır. 6 3

Konular ve Yazılım Kümesi işlemleri - Matris Çarpımı 7 Düğümlerin fiziksel organizasyonu Cluster computing yapısında işlem node ları rack kabin üzerindedir. Rack kabin üzerindeki düğümler gigabit Ethernet ile birbirine bağlıdır. Birden fazla rack kabin birbirine anahtar (switch) ile bağlanır. 8 4

Düğümlerin fiziksel organizasyonu Çok sayıda düğüme sahip sistemlerde sıklıkla bir veya birkaç düğümde arıza oluşabilir. Bazen bir rack kabindeki düğümlerin tamamı çalışmayabilir. Kısa sürede tamamlanacak işlemler arızalar nedeniyle uzayabilir veya başarılı bir şekilde tamamlanamayabilir. Dosyalar fazladan kopyalar halinde saklanabilir. Böylelikle, bir dosyada sorun olursa diğer kopyası kullanılabilir. İşlemlerin tamamı görevler halinde parçalanıp düğümlere dağıtılabilir. Böylelikle, bir görev restart edilirken diğer görevler etkilenmezler. 9 Konular ve Yazılım Kümesi işlemleri - Matris Çarpımı 10 5

Büyük ölçekli dosya sistemi organizasyonu Cluster computing yapısında dosya sistemlerinin dağıtık (Distributed File System - DFS) olması gereklidir. Google File System (GFS) dağıtık dosya sistemidir (Google). Hadoop Distributed File System (HDFS) açık kaynak dağıtık dosya sistemidir (Apache). CloudStore, açık kaynak dağıtık dosya sistemidir (Kosmix). Dosya boyutları çok büyüktür (terabyte seviyesinde). Dosyalar nadiren güncellenir. Aralıklarla yeni veriler eklenir. Dosyalar parçalar (chunks) halinde ve birden fazla kopya olarak farklı rack kabinlerdeki düğümlerde saklanır. Dosya parçalarının bulunduğu yeri saklamak için küçük ayrı bir dosya (master node) kullanılır. 11 Konular ve Yazılım Kümesi işlemleri - Matris Çarpımı 12 6

MapReduce, çok sayıdaki büyük ölçekli işlemi donanım hata toleransına sahip bir şekilde gerçekleştirir. için, Map ve Reduce isimli iki fonksiyonun yazılması gereklidir. aşağıdaki işlemleri gerçekleştirir: Belirli sayıda Map görevi (task) tanımlanır. Dağıtık dosya sistemindeki parçaları sıralanmış key-value ikilisi haline dönüştürür. Giriş değerinden üretilecek key-value ikilisi Map fonksiyonu yazılırken belirlenir. Her bir Map görevinin kay-value ikilisi master controller tarafından toplanır ve key değerine göre sıralanır. Key değerleri Reduce görevlerine dağıtılır. Reduce görevleri aynı anda bir key üzerinde çalışır ve key ile ilişkili değerleri birleştirir. Birleştirme yönteminin nasıl çalışacağı Reduce fonksiyonu yazılırken belirlenir. 13 MapReduce işlemleri için şematik gösterim aşağıdadır. 14 7

Konular ve Yazılım Kümesi işlemleri - Matris Çarpımı 15 Map işlemleri Map görevi için giriş dosyaları herhangi bir türdeki element lerden oluşabilir. Map görevlerinin girişleri ve Reduce görevlerinin çıkışları anahtardeğer ikilisi şeklindedir. Map fonksiyonu parametre olarak bir element alır ve anahtar-değer ikilileri üretir. Buradaki anahtar, unique anahtar olmak zorunda değildir. 16 8

Örnek Map işlemleri Doküman topluluğundaki her bir kelimenin tekrar sayısının bulunması klasik bir örnek uygulamadır. Map fonksiyonu için giriş, doküman topluluğudur. Her bir doküman ise element i ifade eder. Map fonksiyonunda anahtar olarak kelimeler, değer olarak dokümandaki tekrar sayıları alınır. Her bir doküman için anahtar-değer ikilisi aşağıdaki gibi oluşur. Burada, w x anahtar kelimeleri ifade eder ve aynı kelime birden fazla bulunabilir. Aynı anahtara sahip olan m tane ikili (w, m) şeklinde birleştirilebilir. 17 Konular ve Yazılım Kümesi işlemleri - Matris Çarpımı 18 9

Anahtara göre gruplandırma Map görevleri başarılı bir şekilde sonuçlandığında aynı anahtar değerine sahip ikililer gruplandırılır. Belirlenen Reduce görev sayısına göre master controller anahtar-değer ikililerini Reduce görev girişi olan lokal dosyalara aktarır. Master controller, anahtar - lokal dosya eşleştirmesi için hash fonksiyonu kullanır. Hash fonksiyonu dışında başka eşleştirme yöntemleri kullanılabilir. Bir anahtar-değer ikilisi sadece ve sadece bir Reduce görevine atanabilir. Master controller, Map işleminin sonuçlarını anahtara göre birleştirerek ilgili Reduce görevine atar. ---------> 19 Konular ve Yazılım Kümesi işlemleri - Matris Çarpımı 20 10

Reduce fonksiyonunun girişi gruplandırılmış anahtar-değer listesidir. Reduce fonksiyonunun çıkışı anahtar-değer ikilileridir. Birden fazla reducer aynı anda dağıtık çalışabilir. Örnek: Reduce işlemleri Kelime sayılarını bulma uygulamasında Reduce fonksiyonu aynı değere sahip anahtarlara ait değerlerin toplamını hesaplayabilir. Reduce çıktısı ise anahtar-tekrar toplamı (w, m) olur. Burada m tüm dokümanlardaki tekrar sayısını ifade eder. 21 Konular ve Yazılım Kümesi işlemleri - Matris Çarpımı 22 11

Birleştiriciler Bazı uygulamalarda Reduce fonksiyonundaki işlemlerde sıralama (değer yer değişimi 3+4 = 4+3) ve önceliklendirme (öncelik değişimi (2+3)+4 = 2+(3+4)) önemli değildir. Bu durumda, bazı reducer bileşenleri Map görevlerine aktarılabilir. Örneğin, kelimelerin frekanslarının bulunmasında aynı anahtar kelimelerin değerlerinin toplamları Map fonksiyonunda yapılabilir. Map fonksiyonunda yerine (w, m) hesaplanabilir. Maksimum paralel çalışma için her anahtar için ayrı Reduce görevi kullanılabilir. Her bir Reduce görevi de ayrı bir düğümde çalışabilir. 23 Konular ve Yazılım Kümesi işlemleri - Matris Çarpımı 24 12

MapReduce işlemleri 25 MapReduce işlemleri Uygulama programı, bir master controller process ile belli sayıda Worker process i farklı düğümlerde başlatır. Bir Worker process, Map görevi veya Reduce görevi yapabilir. Uygulama programı giriş dosyasını belirli sayıda parçaya böler. Map görevi process i giriş dosyasından kendisine atanmış kısmı okur. Map görevi tarafından elde edilen anahtar-değer ikilileri lokal diske kaydedilir. Reduce görevi atanmış olan process, diskten anahtar-değer ikililerini okur ve gerekli işlemi (sıralama, gruplandırma) yapar. Reduce görevi çıkışını kullanıcının belirlediği dosyaya kaydeder. Tüm atama ve yönetme işlemleri master controller process tarafından yapılır. 26 13

MapReduce işlemleri 27 MapReduce işlemleri 28 14

MapReduce işlemleri Map görevinde Reduce işlemi yapılıyor. 29 Konular ve Yazılım Kümesi işlemleri - Matris Çarpımı 30 15

Node hataları için en kötü durum master controller process in çalıştığı düğümün arızalanmasıdır. Map ve Reduce görevlerini çalıştıran diğer düğümlerdeki arızalar master controller process tarafından denetlenir ve MapReduce başarılı bir şekilde tamamlanır. Arızalanan düğümdeki Map görevleri başka bir Worker a atanır. Sonuçların bulunduğu dosyanın yeni lokasyonu ilgili Reduce görevlerine aktarılır. Arızalanan düğümdeki Reduce görevleri başka bir Worker a atanır. 31 Konular ve Yazılım Kümesi işlemleri - Matris Çarpımı 32 16

MapReduce - Matris Çarpımı P matrisi, M ve N matrislerinin çarpımı olsun (P = MN). m ij i.satır j.sütun elemanı, n jk j.satır k.sütun elemanı ve p ik i.satır k.sütun elemanıdır. 33 MapReduce - Matris Çarpımı Bir matris üç özelliğin ilişkisi olarak düşnülebilir: satır numarası, sütun numarası ve değer. M(I, J, V), üçlü olarak (i, j, m ij ), N(J, K, W), üçlü olarak (j, k, n jk ) gösterilir. (J ortak özelliktir.) MN birleşiminden (i, j, k, v, w) elde edilir. M den (i, j, v), N den (j, k, w) gelir. Bu beşli ile (m ij, n jk ) ikilisi ifade edilir. Çarpım sonucu m ij n jk şeklinde (i, j, k, v x w) gösterilir. Çarpma işlemi için bir MapReduce, Toplama ve birleştirme için ayrı bir MapReduce işlemi yapılabilir. 34 17

MapReduce - Matris Çarpımı 1. Map işlemi M matrisinin her m ij elemanı için ( j, (M, i, m ij )) ikilisi elde edilir. N matrisinin her n jk elemanı için ( j, (N, k, n jk )) ikilisi elde edilir. 1. Reduce işlemi Her j elemanı için, M den gelen (M, i, m ij ) elemanı ile N den gelen (N, k, n jk ) elemanından anahtarı (i, k) olan değeri m ij n jk olan anahtar-değer ikilisi oluşturulur ((i, k), m ij n jk ). 2. Map işlemi Her (i, k) anahtarı için ((i, k), (m i1 n 1k, m i2 n 2k,, m ij n jk )) ikilisi elde edilir. 2. Reduce işlemi Her (i, k) anahtarı için ((i, k), toplam) ikilisi elde edilir. 35 Ödev optimizasyonu hakkında bir araştırma ödevi hazırlayınız. 36 18