+ All Categories
Home > Documents > Fundamental Hadoop MapReduce - WordPress.com...UTS Take Home. Ujian Tengah Semester Take Home,...

Fundamental Hadoop MapReduce - WordPress.com...UTS Take Home. Ujian Tengah Semester Take Home,...

Date post: 13-Feb-2021
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
36
Pemrosesan Data Semesta Fundamental Hadoop MapReduce 09 Maret 2020 Husni
Transcript
  • Pemrosesan Data Semesta

    Fundamental Hadoop MapReduce09 Maret 2020

    Husni

  • Hari ini

    ▪Pertemuan yang lalu:▪MPI (Message Passing Interface)

    ▪Pembahasan hari ini:▪Hadoop Distributed File System (HDFS) dan MapReduce

    ▪Pengumuman:▪UTS Take Home

  • Ujian Tengah Semester▪Take Home, Personal▪Baca Bab_Urutaan_Presensi buku:

    Bernard Marr (2016) Big Data in Practice: How 45 Successful Companies Used Big Data Analytics to Deliver Extraordinary Results, John Wiley & Sons

    ▪Rangkum dalam 2 s.d 3 halaman (bahasa, A4, 1 spasi, Arial 11)▪Dikumpulkan paling lambat 03 April 2020

    via email [email protected].▪Rangkuman dalam format .docx▪Presentasi dalam format .pptx

  • Kita Hidup dalam Dunia Data…

  • Apa yang Kita Lakukan Dengan Big Data?

    Store

    Access

    Encrypt

    Kita ingin melakukan semua ini dengan lancar ...

    Share

    Process

    …. dan lainnya!

  • Kemana Menyimpan Big Data?▪ Sistem penyimpanan adalah komponen kunci untuk menghadirkan Permintaan (Query) /

    Penambangan (Mining) / Analisis (Analytics) Big Data

    ▪Biasanya, sistem penyimpanan akan "mempartisi" dan "mendistribusikan" Big Data,menggunakan teknik striping (atau pemartisian) dan penempatan▪ Ini memungkinkan akses bersamaan (concurrent) ke data

    ▪ serta meningkatkan toleransi kesalahan (fault-tolerance)

    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

    Logical File Stripe SizeStriping Unit

    Server 1 Server 2 Server 3 Server 4

    0 1 2 34 5 6 10 14 7 11 159 138 12

  • Contoh: Google File SystemGFS membagi file besar menjadi blok ukuran tetap dan mendistribusikannya secaraacak di mesin cluster.

    Server 0(Writer)

    Blk0

    Blk1

    Blk2

    Blk3

    Blk4

    Blk5

    Blk6

    Server 1

    Blk0

    Blk2

    Blk3

    Blk3

    0M

    64M

    128M

    192M

    256M

    320M

    384M

    Server 2 Server 3

    Blk1

    Blk2

    Blk4

    Blk6

    Blk0

    Blk1

    Blk4

    Blk5

    Blk6

    Large FileBlk0Blk1

    Blk2

    Blk3

    Blk4

    Blk5

    Blk6

    Blk5

  • Contoh: Google File System

    ▪GFS mengadopsi arsitektur master-slave

    GFS client Master

    Chunk Server

    Linux File System

    Chunk Server

    Linux File System

    Chunk Server

    Linux File System

    File name

    Contact address

    Chunk Id, range

    Chunk data

  • Bagaimana Memroses Big Data?▪Satu alternatif: membuat sistem (program) terdistribusi khusus untuk setiap

    algoritma baru▪ Tidak praktis!

    ▪Alternatif lain: menggunakan kerangka kerja analitik terdistribusi modern yang▪ Membebaskan programmer dari urusan dengan banyak aspek berbeda dari

    pengembangan program terdistribusi▪ Memungkinkan programmer untuk fokus HANYA pada bagian sequential dari

    programnya.

    ▪ Contoh:▪Hadoop MapReduce▪Google’s Pregel

  • Kerangka Kerja Analitika Terdistribusi

    Hadoop MapReduce

    PendahuluanModel

    Pemrograman

    ModelEksekusi

    Model Arsitektural & Penjadwalan

  • Hadoop▪Hadoop merupakan salah satu realisasi paling berhasil dari

    kerangka kerja analitik terdistribusi dari "data paralel" skalabesar

    ▪Hadoop MapReduce adalah implementasi open source dari Google’s MapReduce

    ▪Hadoop menggunakan Hadoop Distributed File System (HDFS) sebagai layer storage (penyimpanan)-nya

    ▪HDFS adalah implementasi open source dari GFS

  • Hadoop MapReduce: Pandangan Sekilas▪Hadoop MapReduce menggabungkan dua fase: Map dan Reduce yang

    mencakup beberapa tugas Map dan Reduce

    Map Task

    Map Task

    Map Task

    Map Task

    Reduce Task

    Reduce Task

    Reduce Task

    Partition

    PartitionPartition

    Partition

    Partition

    Partition PartitionPartition

    Partition

    ke HDFSDataset

    HDFS

    HDFS BLK

    HDFS BLK

    HDFS BLK

    HDFS BLK

    Map PhaseShuffle Stage

    Merge & Sort Stage Reduce Stage

    Reduce Phase

    Partition

    Split 0

    Split 1

    Split 2

    Split 3

    Partition

    Partition

    Partition

    Partition

    Partition

    Partition

    Partition

  • Kerangka Kerja Analitika Terdistribusi

    Hadoop MapReduce

    PendahuluanModel

    Pemrograman

    ModelEksekusi

    Model Arsitektural & Penjadwalan

  • • Paradigma komunikasi dapat dikategorikan ke dalam tiga tipe berdasarkan padatempat entitas tersebut berada. Jika entitas berjalan pada:

    Files, Signals, Shared Memory…

    Klasifikasi Paradigma Komunikasi

    Global variables, Procedure calls, …

    2. Satu Komputer tetapiberbeda Address-Space

    1. Address-Space Sama Sistem Terdistribusi fokus pada entitas yang berada pada

    komputer jaringan berkomunikasi dalam sistemterdistribusi menggunakan

    komunikasi socket dan remoteinvocation

    • Socket Communication

    • Remote Invocation

    3. Komputer di Jaringan

  • Model Pemrograman▪Hadoop MapReduce menggunakan suatu model shared-based programming

    yang mensyaratkan bahwa:• Beberapa task dapat berinteraksi (jika diperlukan) via reading dan writing ke suatu ruang

    bersama (shared space)

    • HDFS menyediakan shared space tersebut untuk semua task Map dan Reduce

    • Programmer hanya menuliskan kode sequential, tanpa mendefinisikan fungsi untuk send/receive pesan antar task.

    MT1 MT2 MT3 MT4 MT5 MT6

    Shared Address Space (disediakan oleh HDFS)

    RT1 RT2 RT3

    Komunikasi “Implisit” (disediakan oleh MapReduce Engine)- Programmer tidak menuliskan atau memanggil rutin komunikasi

    Shared Address Space (disediakan oleh HDFS)

  • Contoh: Hitung Kata

    He is delivering a lecture to the TIK744 classThe course name of TIK744is Big Data

    A Text File

    He is delivering a lecture to theTIK744 class

    The course name of TIK744is Big Data

    Sepotong File

    Sepotong File

    Fungsi Map

    Urai&

    Hitung

    Key1 Value1

    0 He is

    20 delivering a

    38 lecture to the

    60 TIK744 class

    Key2 Value2

    He 1

    is 1

    delivering 1

    a 1

    lecture 1

    to 1

    the 1

    TIK-744 1

    class 1

    Key2 Value2

    He 1

    is 2

    delivering 1

    a 1

    lecture 1

    to 1

    the 2

    TIK-744 2

    class 1

    course 1

    name 1

    of 1

    Big 1

    Data 1

    Iterate&

    Sum

    Urai&

    Hitung

    Key1 Value1

    0 The course

    17 name of TIK744

    40 is Big

    58 Data

    Key2 Value2

    The 1

    course 1

    name 1

    of 1

    TIK-744 1

    is 1

    Big 1

    Data 1

    Fungsi Map

    FungsiReduce

  • Kerangka Kerja Analitika Terdistribusi

    ✓ ✓

    Hadoop MapReduce

    PendahuluanModel

    Pemrograman

    ModelEksekusi

    Model Arsitektural & Penjadwalan

  • Model Eksekusi▪Hadoop MapReduce mengadopsi suatu synchronous execution model

    ▪ Suatu program (atau sistem) terdistribusi dikatakan sinkron jika dan hanya jika taskunsur/elemen-nya beroperasi dalam suatu lock-step mode• Tidak ada dua tugas yang dapat berjalan secara bersamaan di bawah dua iterasi yang berbeda

    • Dalam MapReduce:

    • Setiap iterasi diperlakukan sebagai suatu kerja (job) MapReduce

    • Suatu job dapat mencakup 1 atau lebih tugas Map dan 0 atau lebih tugas Reduce.

    • Program dengan banyak iterasi (yaitu program iteratif) dieksekusi menggunakan banyak job MapReduce berantai.

    • Ketika semua task Reduce di dalam job i dicommit, suatu job baru i + 1 dimulai (jika ada)

    • Oleh karena itu, dua tugas berbeda tidak dapat berjalan secara paralel di bawah duapekerjaan (atau iterasi) berbeda.

  • Kerangka Kerja Analitika Terdistribusi

    ✓ ✓ ✓

    Hadoop MapReduce

    PendahuluanModel

    Pemrograman

    ModelEksekusi

    Model Arsitektural & Penjadwalan

  • Arsitektur MapReduce

    Master Slave

    https://www.guru99.com/images/Big_Data/061114_0930_Introductio2.png

  • Model Arsitektural & Penjadwalan• Hadoop MapReduce menggunaka master-slave architecture

    • Suatu strategi pull-based task scheduling digunakan, dimana:• Task Map dijadwalkan dekat dengan blok-blok HDFS

    • Task Reduce dijadwalkan dimana saja.

    Core Switch

    TaskTracker1

    Request a Map Task

    Schedule a Map Task at an Empty Map Slot on TaskTracker1

    Rack Switch 1 Rack Switch 2

    TaskTracker2 TaskTracker3 TaskTracker4 TaskTracker5 JobTrackerMT1 MT2 MT3MT2 MT3

    Slave Master

  • Model Arsitektural & Penjadwalan• Hadoop MapReduce menggunakan master-slave architecture

    • Dengan setup di atas, berapa banyak task Map dapat berjaan secara paralell?• Setiap TaskTracker secara default mempunyai dua slot Map, jadi dapat menjalankan dua task

    Map secara bersamaan (concurent)• Dengan 4 TaskTrackers dan 2 slot Map pada setiap TaskTracker, 8 task Map dapat dieksekusi

    secara paralel• Jumlah maksimum task Map yang dapat berjalan secara parallel dikenal sebagai Map wave

    Core Switch

    TaskTracker1

    Request a Map Task

    Schedule a Map Task at an Empty Map Slot on TaskTracker1

    Rack Switch 1 Rack Switch 2

    TaskTracker2 TaskTracker3 TaskTracker4 TaskTracker5 JobTracker

    MT1 MT2 MT3MT2 MT3

    Slave Master

  • Model Arsitektural & Penjadwalan• Hadoop MapReduce menggunakan master-slave architecture

    • Untuk dataset dengan ukuran 1024MB, berapa banyak Map wave diperlukan?• Ukuran blok HDFS defaultnya adalah 64MB dan setiap split secara default mencakup 1 blook HDFS

    • Mengakibatkan ada total 1024/64 = 16 blok HDFS atau 16 split.

    • Input ke setiap task Map adalah split tunggal, jadi akan ada total 16 task Map

    • Karena itu akan diperlukan 16 task/8 slot = 2 Map wave.

    Core Switch

    TaskTracker1

    Request a Map Task

    Schedule a Map Task at an Empty Map Slot on TaskTracker1

    Rack Switch 1 Rack Switch 2

    TaskTracker2 TaskTracker3 TaskTracker4 TaskTracker5 JobTracker

    MT1 MT2 MT3MT2 MT3

    Slave Master

  • Contoh Hitung Kata

    Input:Welcome to Hadoop ClassHadoop is goodHadoop is bad

    bad 1

    Class 1

    good 1

    Hadoop 3

    is 2

    to 1

    Welcome 1

  • Contoh Hitung Kata

    https://www.guru99.com/images/Big_Data/061114_0930_Introductio1.png

  • Contoh Hitung Kata

  • Mencari Teman Bersama di Media Sosial

  • Mencari Teman Bersama di Media Sosial

    Input: Key->Value : Orang->[Daftar Teman]

    Annya -> [Brahm, Chieya, Dipa]

    Brahm -> [Annya, Chieya, Dipa, Elsa]

    Chieya -> [Annya, Brahm, Dipa, Elsa]

    Dipa -> [Annya, Brahm, Chieya, Elsa]

    Elsa -> [Brahm, Chieya, Dipa]

    Input displit jadi 5, sehingga

    perlu 5 task Map

  • Fase Map

    map(Annya -> [Brahm, Chieya, Dipa]), hasilnya :• (Annya Brahm) -> [Brahm, Chieya, Dipa]• (Annya Chieya) -> [Brahm, Chieya, Dipa]• (Annya Dipa) -> [Brahm, Chieya, Dipa]

    map(Brahm -> [Annya, Chieya, Dipa, Elsa]), hasilnya : (pada bagian key Annya ditulis lebih dahulu daripada Brahm)

    • (Annya Brahm) -> [Annya, Chieya, Dipa, Elsa]• (Brahm Chieya) -> [Annya, Chieya, Dipa, Elsa]• (Brahm Dipa) -> [Annya, Chieya, Dipa, Elsa]• (Brahm Elsa) -> [Annya, Chieya, Dipa, Elsa]

  • Fase Mapmap(Chieya -> [Annya, Brahm, Dipa, Elsa]), hasilnya:• (Annya Chieya) -> [Annya, Brahm, Dipa, Elsa]• (Brahm Chieya) -> [Annya, Brahm, Dipa, Elsa]• (Chieya Dipa) -> [Annya, Brahm, Dipa, Elsa]

    • (Chieya Elsa) -> [Annya, Brahm, Dipa, Elsa]

    map(Dipa -> [Annya, Brahm, Chieya, Elsa]), hasilnya:• (Annya Dipa) -> [Annya, Brahm, Chieya, Elsa]• (Brahm Dipa) -> [Annya, Brahm, Chieya, Elsa]• (Chieya Dipa) -> [Annya, Brahm, Chieya, Elsa]• (Dipa Elsa) -> [Annya, Brahm, Chieya, Elsa]

    map(Elsa -> [Brahm, Chieya, Dipa]), hasilnya:• (Brahm Elsa) -> [Brahm, Chieya, Dipa]• (Chieya Elsa) -> [Brahm, Chieya, Dipa]• (Dipa Elsa) -> [Brahm, Chieya, Dipa]

  • Fase Shuffle: Gabungkan Key yang sama

    (Annya Brahm) -> [Annya, Chieya, Dipa, Elsa] [Brahm, Chieya, Dipa](Annya Chieya) -> [Annya, Brahm, Dipa, Elsa] [Brahm, Chieya, Dipa](Annya Dipa) -> [Annya, Brahm, Chieya, Elsa] [Brahm, Chieya, Dipa]

    (Brahm Chieya) -> [Annya, Brahm, Dipa, Elsa] [Annya, Chieya, Dipa, Elsa](Brahm Dipa) -> [Annya, Brahm, Chieya, Elsa] [Annya, Chieya, Dipa, Elsa](Brahm Elsa) -> [Annya, Chieya, Dipa, Elsa] [Brahm, Chieya, Dipa]

    (Chieya Dipa) -> [Annya, Brahm, Chieya, Elsa] [Annya, Brahm, Dipa, Elsa](Chieya Elsa) -> [Annya, Brahm, Dipa, Elsa] [Brahm, Chieya, Dipa](Dipa Elsa) -> [Annya, Brahm, Chieya, Elsa] [Brahm, Chieya, Dipa]

  • Fase Reduce: Ambil Irisannya

    (Annya Brahm) -> [Chieya Dipa](Annya Chieya) -> [Brahm Dipa](Annya Dipa) -> [Brahm Chieya](Brahm Chieya) -> [Annya Dipa Elsa](Brahm Dipa) -> [Annya Chieya Elsa](Brahm Elsa) -> [Chieya Dipa](Chieya Dipa) -> [Annya Brahm Elsa](Chieya Elsa) -> [Brahm Dipa](Dipa Elsa) -> [Brahm Chieya]

    Siapa saja teman dari Annya yang

    juga berteman dengan Chieya?

  • Hadoop MapReduce: Rangkuman

    Aspek Hadoop MapReduce

    Programming Model Shared-Based

    Execution Model Synchronous

    Architectural Model Master-Slave

    Scheduling Model Pull-Based

    Suitable Applications Loosely-Connected/Embarrassingly-Parallel Applications

  • Hadoop MapReduce: Rangkuman

    Aspek Hadoop MapReduce

    Model Pemrograman Shared-Based

    Model Eksekusi Synchronous

    Model Arsitektural Master-Slave

    Model Penjadwalan Pull-Based

    Aplikasi yang Cocok Aplikasi Loosely-Connected/Embarrassingly-Parallel

  • Pertemuan Berikutnya

    ▪ Pregel dari Google


Recommended