Advanced Analytics-Teknologi dan Alat: MapReduce dan Hadoop
Disusun oleh kelompok 8 :
41155050160035 Bagja Septian Munawar
41155050160034 Rizki Ginanjar
41155050160118 Soni Hidayatulloh
41155050160124 Vanysa Rahayu
Konsep kunci
1. Hadoop
2. Hadoop Ekosistem
3. MapReduce
4. NoSQL.
IBM Watson
41155050160035 Bagja Septian Munawar
41155050160034 Rizki Ginanjar
41155050160118 Soni Hidayatulloh
41155050160124 Vanysa Rahayu
Konsep kunci
1. Hadoop
2. Hadoop Ekosistem
3. MapReduce
4. NoSQL.
Bab ini berfokus pada bagaimana Hadoop menyimpan data dalam sistem terdistribusi dan bagaimana Hadoop menerapkan paradigma pemrograman sederhana yang dikenal sebagai MapReduce.
10.1 Analytics untuk Data Unstructured
Sebelum melakukan analisis data, data yang dibutuhkan harus dikumpulkan dan diproses untuk mengekstrak informasi yang berguna. Tingkat awal pengolahan dan data persiapan tergantung pada volume data, serta bagaimana mudah itu adalah untuk memahami struktur data. empat jenis struktur data yang dibahas dalam Bab 1, “Pengantar Big data Analytics”:
*Tersusun : Sebuah format tertentu dan konsisten(contohnya Tabel data)
*Semi-terstruktur : Sebuah format self-describing(contohnya file XML)
*Kuasi-tersturktur : Sebuah format tidak konsisten(contohnya hyperlink)
*Unstructrude : Format tidak konsisten(contoh nya text atau video)
10.1.1 Gunakan Kasus
berikut beberapa kasus penggunaan untuk MapReduce. Paradigma MapReduce menawarkan cara untuk memecahkan tugas yang besar menjadi tugas yang lebih kecil, menjalankan tugas-tugas secara paralel, dan mengkonsolidasikan output dari tugas individu ke dalam hasil akhir. Apache Hadoop termasuk implementasi software dari MapReduce.
IBM Watson
Pada tahun 2011, sistem komputer IBM Watson berpartisipasi dalam acara permainan televisi AS terhadap dua dari yang terbaik juara dalam sebuah acara tersebut.
Untuk setiap petunjuk yang disediakan selama pertandingan, Watson harus melakukan tugas berikut dalam waktu kurang dari tiga detik
- Mendekonstruksi petunjuk yang disediakan dalam kata-kata dan frase
- Membangun hubungan gramatikal antara kata-kata dan frase
- Membuat satu set istilah yang serupa untuk digunakan dalam pencarian Watson untuk respon Gunakan Hadoop
- untuk mengkoordinasikan pencarian tanggapan di terabyte data Menentukan kemungkinan tanggapan dan menetapkan kemungkinan mereka menjadi benar Actuate bel
- Memberikan respon sintaksis benar dalam bahasa Inggris.
Di antara aplikasi lain, Watson mempunyai profesi medis untuk mendiagnosa pasien dan memberikan rekomendasi pengobatan.
LinkedIn
LinkedIn adalah jaringan profesional online 250 juta pengguna di 200 negara pada awal 2014 [5]. LinkedIn menyediakan beberapa layanan gratis dan berbasis langganan, seperti perusahaan halaman informasi, lowongan pekerjaan, pencarian bakat, grafik sosial kontak seseorang, berita pribadi disesuaikan feed, dan akses ke kelompok-kelompok diskusi, termasuk pengguna Hadoop kelompok.
Yahoo! Pada 2012, Yahoo! telah salah satu yang terbesar mengumumkan Hadoop penyebaran di 42.000 node di beberapa cluster memanfaatkan 350 petabyte storage baku Aplikasi Hadoop Yahoo adalah sebagai berikut :
* cari pembuatan indeks dan pemeliharaan
* halaman web optimasi konten web iklan optimasi
* penempatan Spam filter
* analisis ad-hoc dan pengembangan model analitik
10.1.2 MapReduce
Seperti disebutkan sebelumnya, paradigma MapReduce menyediakan sarana untuk memecahkan tugas yang besar menjadi tugas yang lebih kecil, menjalankan tugas secara paralel, dan mengkonsolidasikan output dari tugas individu ke dalam hasil akhir
MapReduce terdiri dari dua bagian-dasar langkah peta dan mengurangi langkah-dirinci sebagai berikut :
* Peta
Berlaku operasi untuk beberapa data
Menyediakan beberapa output
* Mengurangi
Mengkonsolidasikan output menengah dari langkah-langkah peta Menyediakan output akhir
Ilustrasi sederhana dari MapReduce adalah contoh jumlah kata yang tugas ini adalah untuk hanya menghitung berapa kali setiap kata muncul dalam koleksi dokumen
Dalam contoh diatas, langkah peta mengurai teks string yang disediakan dalam kata-kata individu dan memunculkan satu set pasangan kunci / nilai dalam bentuk < kata, 1>. Untuk masing-masing kunci unik dalam contoh ini, kata -the mengurangi langkah jumlah yang 1 nilai-nilai dan output < kata, menghitung> pasangan kunci / nilai. Karena kata setiap muncul dua kali dalam garis diberikan teks, mengurangi langkah menyediakan pasangan kunci / nilai dari < masing-masing, 2>.
Perlu dicatat bahwa, dalam contoh ini, kunci asli, 1234, diabaikan dalam pengolahan
10.1.3 Apache Hadoop
Meskipun MapReduce adalah paradigma sederhana untuk memahami, itu tidak mudah untuk diterapkan, terutama dalam sistem terdistribusi.
Pelaksana pekerjaan MapReduce (kode MapReduce dijalankan terhadap beberapa data yang ditentukan) membutuhkan manajemen dan koordinasi dari beberapa kegiatan:
- MapReduce pekerjaan harus dijadwalkan berdasarkan beban kerja sistem. Jobs perlu dipantau dan dikelola untuk memastikan bahwa setiap kesalahan yang ditemui sedang ditangani.
- Peta langkah pengolahan input perlu dilakukan di seluruh sistem terdistribusi, sebaiknya di mesin yang sama di mana data berada.
- output menengah dari berbagai langkah peta perlu dikumpulkan dan diberikan kepada mesin yang tepat untuk mengurangi eksekusi langkah.
- output akhir harus dibuat tersedia untuk digunakan oleh pengguna lain, aplikasi lain, atau mungkin yang lain pekerjaan MapReduce
menggambarkan cluster Hadoop dengan sepuluh mesin dan penyimpanan satu file besar yang Gambar 10.2 menggambarkan cluster Hadoop dengan sepuluh mesin dan penyimpanan satu file besar yang membutuhkan tiga blok data HDFS. Selanjutnya, file ini disimpan menggunakan replikasi tiga. Mesin-mesin yang menjalankan NameNode dan NameNode sekunder dianggap Master node. Karena DataNodes mengambil petunjuk mereka dari node master, mesin menjalankan Master node. Karena DataNodes mengambil petunjuk mereka dari node master, mesin menjalankan DataNodes disebut sebagai node pekerja.
masing-masing, (1,1)> adalah pasangan kunci pertama / nilai diproses, diikuti abjad < Untuk, (1)> dan sisanya dari sepasang kunci/ nilai sampai sepasang kunci / nilai terakhir dilewatkan. The ( ) menunjukkan daftar nilai yang, dalam hal ini, hanya sebuah array.
Gambar 10.4 menggambarkan bagaimana combiner sebuah proses string tunggal.
Sebagai contoh yang lebih praktis, pengguna bisa menggunakan partitioner untuk memisahkan output ke file terpisah untuk setiap tahun kalender untuk analisis selanjutnya Sebagai contoh, jika beberapa tombol yang diketahui terkait dengan sebagian besar data, mungkin berguna untuk memastikan bahwa tombol ini pergi untuk memisahkan pengecil untuk mencapai kinerja lebih baik secara keseluruhan.
Hadoop
Hadoop adalah teknologi yang dibuat dari sebuah artikel atau paper. Paper ini di bawakan oleh Google untuk menggambarkan Big Data yang mereka gunakan untuk menampung data mereka yang sangat besar. Jadi, Google menginspirasi lahirnya Hadoop. Bedanya Big Data Google tidak bersifat open source sementara Hadoop open source.
Hadoop disini disebut lebih dari sekedar software atau perangkat lunak. Hadoop adalah sekumpulan software yang saling bekerja sama untuk mengolah data. Bisa disebut Hadoop adalah sebuah ekosistem yang terdiri dari software-software yang bekerja sama.
Mengembangkan dan Pelaksana Program Hadoop MapReduce
Pendekatan umum untuk mengembangkan program Hadoop MapReduce adalah untuk menulis kode Java menggunakan alat Interaktif Development Environment (IDE) seperti Eclipse [17]. Dibandingkan dengan editor plaintext atau antarmuka baris perintah (CLI), alat IDE menawarkan pengalaman yang lebih baik untuk menulis, mengkompilasi, tes, dan kode debug. Sebuah program MapReduce khas terdiri dari tiga file Java: masing-masing untuk kode driver, kode peta, dan mengurangi kode. , Java file-file tambahan dapat ditulis untuk combiner atau partitioner kustom, jika berlaku. Kode Java dikompilasi dan disimpan sebagai Java Archive (JAR) file.
Alternatif kedua adalah dengan menggunakan pipa Hadoop
mekanisme yang menggunakan dikompilasi C ++ kode untuk peta dan mengurangi fungsi. Sebuah keuntungan dari menggunakan C ++ adalah perpustakaan numerik yang luas tersedia untuk memasukkan dalam kode
Untuk bekerja secara langsung dengan data di HDFS, salah satu pilihan adalah dengan menggunakan API Java yang disediakan dengan Apache Hadoop. API ini memungkinkan membaca dan menulis ke file data HDFS luar paradigma MapReduce khas [20]. Pendekatan seperti ini mungkin berguna ketika mencoba untuk debug pekerjaan MapReduce dengan memeriksa input data atau ketika tujuannya adalah untuk mengubah data HDFS sebelum menjalankan pekerjaan MapReduce.
10.2 The Hadoop Ekosistem
Hadoop HDFS, sebuah sistem file terdistribusi
Hadoop MapReduce, sebuah model algoritma untuk pengelolaan data skala besar dengan komputasi secara terdistribusi
Hadoop YARN, sebuah platform resource-management yang bertanggung jawab untuk mengelola resource dalam kluster dan melakukan scheduling
Hadoop Common, berisi libraries dan utilities yang dibutuhkan oleh modul Hadoop lainnya
Apache Pig
Apache pig terdiri dari bahasa aliran data, Pig Latin, dan lingkungan untuk mengeksekusi kode pig. Manfaat utama dari menggunakan Pig adalah untuk memanfaatkan kekuatan MapReduce dalam sistem terdistribusi, sementara menyederhanakan tugas mengembangkan dan melaksanakan pekerjaan MapReduce. Dalam kebanyakan kasus, itu adalah transparan kepada pengguna bahwa pekerjaan MapReduce berjalan di latar belakang saat perintah pig dieksekusi. Hadoop menyederhanakan pengembangan kode terhadap data dalam HDFS dan membuat MapReduce lebih mudah diakses oleh khalayak yang lebih besar
dasar-dasar penggunaan pig termasuk memasuki lingkungan eksekusi pig dengan mengetikkan pig pada prompt perintah dan kemudian memasuki urutan garis instruksi Pig
Contoh dari perintah Pig-spesifik yang ditampilkan di sini:
$pig mendengus> catatan = LOAD '/user/customer.txt' AS
(Cust_id: INT, first_name: CHARARRAY, last_name: CHARARRAY, EMAIL_ADDRESS: CHARARRAY); catatan mendengus> filtered_records = FILTER
BY pertandingan EMAIL_ADDRESS '* @ isp.com.'; mendengus> STORE filtered_records INTO '/ user / isp_customers'; mendengus> berhenti $
Hive
Mirip dengan Pig, Apache Hive memungkinkan pengguna untuk mengolah data tanpa secara eksplisit menulis kode MapReduce. Satu perbedaan kunci Pig adalah bahwa bahasa Hive, HiveQL (Hive Query Language), menyerupai Structured Query Language (SQL) daripada bahasa scripting.
Pertimbangkan untuk menggunakan Hive ketika kondisi berikut:
- Data mudah cocok menjadi struktur tabel.
- Data yang sudah di HDFS. (Catatan: file Non-HDFS dapat dimuat ke meja Hive.) Pengembang nyaman dengan pemrograman SQL dan query.
- Ada keinginan untuk dataset partisi berdasarkan waktu. (Sebagai contoh, update setiap hari ditambahkan ke meja Hive.) Batch processing diterima.
Contoh :
sarang> membuat pelanggan tabel (
bigint cust_id, first_name tali, last_name String,
EMAIL_ADDRESS string) format baris dibatasi
bidang diakhiri oleh '\ t';
HBase
Tidak seperti Pig dan Hive, yang ditujukan untuk aplikasi batch, Apache HBase mampu memberikan real-time membaca dan menulis akses ke dataset dengan miliaran baris dan jutaan kolom. Untuk menggambarkan perbedaan antara HBase dan database relasional, bagian ini menyajikan rincian yang cukup tentang pelaksanaan dan penggunaan HBase.
HBase Arsitektur dan Model data
HBase adalah menyimpan data yang dimaksudkan untuk didistribusikan di cluster node. Seperti Hadoop dan banyak proyek Apache terkait, HBase dibangun di atas HDFS dan mencapai kecepatan akses real-time dengan berbagi beban kerja lebih banyak node di cluster didistribusikan. Tabel HBase terdiri dari baris dan kolom. Namun, meja HBase juga memiliki dimensi ketiga, versi, untuk mempertahankan nilai-nilai yang berbeda dari baris dan kolom persimpangan dari waktu ke waktu.
contoh sederhana akan bahwa untuk setiap pelanggan online yang diberikan, beberapa alamat pengiriman dapat disimpan. Jadi, baris akan ditunjukkan dengan nomor pelanggan. Satu kolom akan memberikan alamat pengiriman. Nilai dari alamat pengiriman akan ditambahkan di persimpangan jumlah pelanggan dan kolom alamat pengiriman, bersama dengan timestamp yang sesuai dengan ketika pelanggan terakhir digunakan alamat pengiriman ini.
Seperti disebutkan, HBase dibangun di atas HDFS. HBase menggunakan struktur kunci / nilai untuk menyimpan isi dari tabel HBase. Setiap nilai adalah data yang akan disimpan di persimpangan baris, kolom, dan versi. Setiap kunci
terdiri dari unsur-unsur berikut :
- panjang baris
- Row (kadang-kadang disebut baris kunci) panjang
- Kolom keluarga
- Kolom keluarga
- kolom kualifikasi jenis
- Versi Key
Mahout
Mayoritas bab ini telah difokuskan pada pengolahan, penataan, dan menyimpan dataset besar menggunakan Apache Hadoop dan berbagai bagian dari ekosistem.
Mahout menyediakan kode Java yang mengimplementasikan algoritma untuk beberapa teknik dalam tiga kategori
Berikut :
- Regresi logistik hutan
- Naïve Bayes Acak
- model Markov tersembunyi
Clustering:
- Canopy pengelompokan
- K-cara mengelompokkan
- Fuzzy k-means
- Ekspektasi maksimisasi (EM)
Pemberi saran / kolaboratif filtering:
- Pemberi saran Nondistributed
- Didistribusikan berdasarkan-item filtering kolaboratif
NoSQL
NoSQL (Tidak hanya Structured Query Language) adalah istilah yang digunakan untuk menggambarkan orang-orang menyimpan data yang diterapkan pada data yang tidak terstruktur. Seperti dijelaskan sebelumnya, HBase adalah suatu alat yang ideal untuk menyimpan kunci / nilai dalam keluarga kolom. Secara umum, kekuatan menyimpan data NoSQL adalah bahwa sebagai ukuran data tumbuh, solusi dilaksanakan dapat skala dengan hanya menambahkan mesin tambahan untuk sistem terdistribusi.
Berbeda dengan SQL Database, dari namanya saja sudah bisa ditebak bahwa nosql database adalah kebalikan dari sql database. Tidak relational / tanpa relation. Database nosql atau yang biasa disebut NoSQL database / cloud database merupakan penyimpanan data / database yang tidak terstruktur.
Ringkasan
Bab ini meneliti paradigma MapReduce dan penerapannya dalam analisis Big Data. Secara khusus, itu meneliti pelaksanaan MapReduce di Apache Hadoop. Kekuatan MapReduce diwujudkan dengan penggunaan Hadoop Distributed File System (HDFS) untuk menyimpan data dalam sistem terdistribusi.
Bab ini diperiksa beberapa proyek Apache dalam ekosistem Hadoop. Dengan menyediakan bahasa pemrograman tingkat tinggi, Apache pig dan Hive menyederhanakan pengembangan kode oleh masking logika MapReduce yang mendasari untuk melakukan tugas umum pengolahan data seperti penyaringan, bergabung dataset, dan data restrukturisasi
HBase adalah salah satu contoh dari NoSQL (Tidak hanya Structured Query Language) menyimpan data yang sedang dikembangkan untuk mengatasi Big Data tertentu menggunakan kasus. Memelihara dan melintasi grafik jaringan sosial adalah contoh dari database relasional tidak menjadi pilihan terbaik sebagai menyimpan data.
Source :
Buku DATA SCIENCE AND BIG DATA ANALYTICS
Penerbit EMC Education Services
Buku DATA SCIENCE AND BIG DATA ANALYTICS
Penerbit EMC Education Services
0 Response to "Advanced Analytics-Teknologi dan Alat: MapReduce dan Hadoop "
Posting Komentar