Memahami secara mendalam
Hadoop
Hadoopadalah proyek open source dari Apacheyayasan. Ini adalah kerangka kerja yang ditulis Java, awalnya dikembangkan oleh Doug Cutting pada tahun 2005. Ini dibuat untuk mendukung distribusi untuk Nutch, mesin pencari teks. Hadoopmenggunakan Google Map Reducedan Teknologi Sistem File Google sebagai fondasinya.
Fitur Hadoop
- Ini dioptimalkan untuk menangani sejumlah besar data terstruktur, semi-terstruktur dan tidak terstruktur menggunakan perangkat keras komoditas.
- Ini tidak berbagi arsitektur apa pun.
- Ini mereplikasi datanya ke beberapa komputer sehingga jika salah satu turun, data masih dapat diproses dari mesin lain yang menyimpan replika.
Hadoopuntuk throughput tinggi daripada latensi rendah. Ini adalah operasi batch yang menangani sejumlah besar data; oleh karena itu waktu responsnya tidak langsung.
- Ini melengkapi Pemrosesan Transaksi Online dan Pemrosesan Analitik Daring. Namun, ini bukan pengganti untuk
RDBMS.
- Itu tidak baik ketika pekerjaan tidak dapat diparalelkan atau ketika ada ketergantungan dalam data.
- Ini tidak baik untuk memproses file kecil. Ini bekerja paling baik dengan file data besar dan kumpulan data.
Versi Hadoop
Ada dua versi yang Hadooptersedia:
- Hadoop 1.0
- Hadoop 2.0
Hadoop 1.0
Ini memiliki dua bagian utama:
1. Kerangka Penyimpanan Data
Ini adalah sistem file tujuan umum yang disebut Sistem File Terdistribusi Hadoop ( HDFS).
HDFS skema-kurang
Ini hanya menyimpan file data dan file data ini bisa dalam format apa saja.
Idenya adalah untuk menyimpan file sedekat mungkin dengan bentuk aslinya.
Hal ini pada gilirannya memberikan keleluasaan dan kelincahan yang sangat dibutuhkan unit bisnis dan organisasi tanpa terlalu khawatir dengan apa yang dapat diimplementasikan.
2. Kerangka Pemrosesan Data
Ini adalah model pemrograman fungsional sederhana yang awalnya dipopulerkan oleh Google sebagai MapReduce.
Ini pada dasarnya menggunakan dua fungsi: MAPdan REDUCEuntuk memproses data.
"Pemeta" mengambil satu set pasangan nilai kunci dan menghasilkan data perantara (yang merupakan daftar pasangan nilai kunci lainnya).
"Pengecil" kemudian bertindak atas input ini untuk menghasilkan data output.
Kedua fungsi ini tampaknya bekerja secara terpisah satu sama lain, sehingga memungkinkan pemrosesan menjadi sangat terdistribusi dalam cara yang sangat paralel, toleransi kesalahan dan terukur.
Keterbatasan Hadoop 1.0
Keterbatasan pertama adalah persyaratan MapReducekeahlian pemrograman.
Ini hanya mendukung pemrosesan batch yang walaupun cocok untuk tugas-tugas seperti analisis log, proyek penambangan data skala besar tetapi cukup banyak tidak cocok untuk jenis proyek lainnya.
Satu batasan utama adalah yang Hadoop 1.0secara komputasional digabungkan dengan MapReduce, yang berarti bahwa vendor manajemen data yang mapan meninggalkan dua pendapat:
Tulis ulang fungsionalitasnya MapReducesehingga dapat dieksekusi di Hadoopatau
Mengekstrak data dari HDFSatau memprosesnya di luar Hadoop.
Tak satu pun dari opsi yang layak karena menyebabkan proses inefisiensi yang disebabkan oleh data yang dipindahkan masuk dan keluar dari Hadoopcluster.
Hadoop 2.0
Dalam Hadoop 2.0, HDFSterus menjadi kerangka penyimpanan data.
Namun, kerangka kerja manajemen sumber daya baru dan terpisah disebut Y et Sebuah nother R eSource N egotiater ( BENANG ) telah ditambahkan.
Setiap aplikasi yang mampu membagi dirinya menjadi tugas-tugas paralel didukung oleh YARN.
YARN mengoordinasikan alokasi subtugas aplikasi yang diajukan, dengan demikian semakin meningkatkan fleksibilitas, skalabilitas, dan efisiensi aplikasi.
Ini bekerja dengan memiliki Master Aplikasi menggantikan Job Tracker , menjalankan aplikasi pada sumber daya yang diatur oleh Node Manager baru .
ApplicationMaster dapat menjalankan aplikasi apa pun dan bukan hanya MapReduce.
Ini berarti tidak hanya mendukung pemrosesan batch tetapi juga pemrosesan waktu nyata. MapReducebukan lagi satu-satunya pilihan pemrosesan data.
Keuntungan dari Hadoop
Ini menyimpan data dalam bahasa aslinya dari. Tidak ada struktur yang dipaksakan saat memasukkan data atau menyimpan data. HDFSskema kurang. Hanya kemudian ketika data perlu diproses bahwa struktur dikenakan pada data mentah.
Itu scalable. Hadoopdapat menyimpan dan mendistribusikan dataset sangat besar di ratusan server murah yang beroperasi secara paralel.
Itu tangguh terhadap kegagalan. Hadoopadalah toleransi kesalahan. Ini berlatih replikasi data dengan rajin yang berarti setiap kali data dikirim ke node apa pun, data yang sama juga akan direplikasi ke node lain di cluster, sehingga memastikan bahwa jika terjadi kegagalan node, akan selalu ada salinan data lain yang tersedia untuk digunakan.
Itu fleksibel. Salah satu keuntungan utama Hadoopadalah dapat bekerja dengan semua jenis data: terstruktur, tidak terstruktur atau semi-terstruktur. Juga, pemrosesan sangat cepat Hadoopkarena paradigma "pindahkan kode ke data".
Ekosistem Hadoop
Berikut ini adalah komponen Hadoopekosistem:
HDFS : HadoopSistem File Terdistribusi. Ini hanya menyimpan file data sedekat mungkin dengan bentuk aslinya.
HBase : Ini adalah basis data Hadoop dan membandingkannya dengan RDBMS. Ini mendukung penyimpanan data terstruktur untuk tabel besar.
Hive : Ini memungkinkan analisis dataset besar menggunakan bahasa yang sangat mirip dengan standar ANSI SQL, yang menyiratkan bahwa siapa pun yang familier SQLharus dapat mengakses data pada sebuah Hadoopcluster.
Babi : Ini adalah bahasa aliran data yang mudah dimengerti. Ini membantu dengan analisis dataset besar yang cukup sesuai Hadoop. Pigskrip secara otomatis dikonversi ke MapReducepekerjaan oleh Pigpenerjemah.
ZooKeeper : Ini adalah layanan koordinasi untuk aplikasi terdistribusi.
Oozie : Ini adalah schedularsistem alur kerja untuk mengelola Hadooppekerjaan Apache .
Mahout : Ini adalah pembelajaran mesin dan data mining library yang dapat diukur.
Chukwa : Ini adalah sistem pengumpulan data untuk mengelola sistem terdistribusi besar.
Sqoop : Digunakan untuk mentransfer data massal antara Hadoopdan penyimpanan data terstruktur seperti database relasional.
Ambari : Ini adalah alat berbasis web untuk penyediaan, pengelolaan, dan pemantauan Hadoopcluster.
Sarang lebah
Hiveadalah alat infrastruktur data warehouse untuk memproses data terstruktur di Indonesia Hadoop. Itu berada di atas Hadoopuntuk merangkum Big Data dan membuat kueri dan analisis mudah.
Sarang tidak
Database relasional
Desain untuk Pemrosesan Transaksi Online ( OLTP).
Bahasa untuk kueri waktu-nyata dan pembaruan tingkat baris.
Fitur Hive
Ini menyimpan skema dalam database dan memproses data menjadi HDFS.
Ini dirancang untuk OLAP.
Ini menyediakan SQLjenis bahasa untuk kueri yang disebut HiveQLatau HQL.
Itu lebih familier, cepat, terukur, dan dapat diperluas.
Arsitektur Sarang
Komponen-komponen berikut terkandung dalam Hive Architecture:
User Interface : Hiveadalah data warehouseinfrastruktur yang dapat membuat interaksi antara pengguna dan HDFS. User Interfaces yang Hivemendukung adalah Hive Web UI, Hive Command line dan Hive HD Insight (In Windows Server).
MetaStore : Hivememilih masing database servers- masing untuk menyimpan skema atau Metadatatabel, basis data, kolom dalam tabel, tipe data dan HDFSpemetaannya.
Mesin Proses HiveQL : HiveQLmirip dengan SQLuntuk menanyakan informasi skema di Internet Metastore. Ini adalah salah satu pengganti pendekatan tradisional untuk MapReduceprogram. Alih-alih menulis MapReducedi Java, kita dapat menulis permintaan untuk MapReducedan memprosesnya.
Exceution Engine : Bagian yang berhubungan dengan HiveQLengine proses dan MapReducemerupakan HiveExecution Engine. Mesin eksekusi memproses kueri dan menghasilkan hasil yang sama dengan MapReduce results. Ini menggunakan rasa MapReduce.
HDFS atau HBase : HadoopSistem File Terdistribusi atau HBaseteknik penyimpanan data untuk menyimpan data ke dalam sistem file.