Sarang - Pendahuluan

Istilah 'Big Data' digunakan untuk kumpulan kumpulan data besar yang mencakup volume besar, kecepatan tinggi, dan berbagai data yang meningkat dari hari ke hari. Menggunakan sistem manajemen data tradisional, sulit untuk memproses Big Data. Oleh karena itu, Apache Software Foundation memperkenalkan kerangka kerja yang disebut Hadoop untuk mengatasi tantangan pengelolaan dan pemrosesan Big Data.

Hadoop

Hadoop adalah kerangka kerja sumber terbuka untuk menyimpan dan memproses Big Data dalam lingkungan terdistribusi. Ini berisi dua modul, satu MapReduce dan lainnya adalah Hadoop Distributed File System (HDFS).

  • MapReduce: Ini adalah model pemrograman paralel untuk memproses data terstruktur, semi-terstruktur, dan tidak terstruktur dalam jumlah besar pada cluster besar perangkat keras komoditas.

  • HDFS:Sistem File Terdistribusi Hadoop adalah bagian dari kerangka kerja Hadoop, digunakan untuk menyimpan dan memproses kumpulan data. Ini menyediakan sistem file yang toleran terhadap kesalahan untuk dijalankan pada perangkat keras komoditas.

Ekosistem Hadoop berisi subproyek (alat) yang berbeda seperti Sqoop, Pig, dan Hive yang digunakan untuk membantu modul Hadoop.

  • Sqoop: Ini digunakan untuk mengimpor dan mengekspor data ke dan dari antara HDFS dan RDBMS.

  • Pig: Ini adalah platform bahasa prosedural yang digunakan untuk mengembangkan skrip untuk operasi MapReduce.

  • Hive: Ini adalah platform yang digunakan untuk mengembangkan skrip tipe SQL untuk melakukan operasi MapReduce.

Note: Ada berbagai cara untuk menjalankan operasi MapReduce:

  • Pendekatan tradisional menggunakan program Java MapReduce untuk data terstruktur, semi-terstruktur, dan tidak terstruktur.
  • Pendekatan scripting untuk MapReduce untuk memproses data terstruktur dan semi terstruktur menggunakan Pig.
  • Bahasa Kueri Hive (HiveQL atau HQL) untuk MapReduce untuk memproses data terstruktur menggunakan Hive.

Apa itu Hive

Hive adalah alat infrastruktur gudang data untuk memproses data terstruktur di Hadoop. Itu ada di atas Hadoop untuk meringkas Big Data, dan membuat kueri dan analisis menjadi mudah.

Awalnya Hive dikembangkan oleh Facebook, kemudian Apache Software Foundation mengambilnya dan mengembangkannya lebih jauh sebagai open source dengan nama Apache Hive. Ini digunakan oleh perusahaan yang berbeda. Misalnya, Amazon menggunakannya di Amazon Elastic MapReduce.

Sarang tidak

  • Database relasional
  • Desain untuk Pemrosesan Transaksi OnLine (OLTP)
  • Bahasa untuk kueri waktu nyata dan pembaruan tingkat baris

Fitur Sarang

  • Ini menyimpan skema dalam database dan memproses data menjadi HDFS.
  • Ini dirancang untuk OLAP.
  • Ini menyediakan bahasa tipe SQL untuk melakukan kueri yang disebut HiveQL atau HQL.
  • Ini akrab, cepat, terukur, dan dapat diperluas.

Arsitektur Sarang

Diagram komponen berikut menggambarkan arsitektur Hive:

Diagram komponen ini berisi unit yang berbeda. Tabel berikut menjelaskan setiap unit:

Nama unit Operasi
Antarmuka pengguna Hive adalah software infrastruktur data warehouse yang dapat menciptakan interaksi antara pengguna dan HDFS. Antarmuka pengguna yang didukung Hive adalah Hive Web UI, baris perintah Hive, dan Hive HD Insight (Di server Windows).
Toko Meta Hive memilih server database masing-masing untuk menyimpan skema atau Metadata tabel, database, kolom dalam tabel, tipe datanya, dan pemetaan HDFS.
Mesin Proses HiveQL HiveQL mirip dengan SQL untuk melakukan kueri pada info skema di Metastore. Ini adalah salah satu pengganti pendekatan tradisional untuk program MapReduce. Alih-alih menulis program MapReduce di Java, kita dapat menulis kueri untuk pekerjaan MapReduce dan memprosesnya.
Mesin Eksekusi Bagian gabungan dari Mesin proses HiveQL dan MapReduce adalah Mesin Eksekusi Hive. Mesin eksekusi memproses kueri dan menghasilkan hasil yang sama seperti hasil MapReduce. Ini menggunakan rasa MapReduce.
HDFS atau HBASE Sistem file terdistribusi Hadoop atau HBASE adalah teknik penyimpanan data untuk menyimpan data ke dalam sistem file.

Bekerja dari Hive

Diagram berikut menggambarkan alur kerja antara Hive dan Hadoop.

Tabel berikut menjelaskan bagaimana Hive berinteraksi dengan framework Hadoop:

Langkah No. Operasi
1 Execute Query

Antarmuka Hive seperti Command Line atau Web UI mengirimkan kueri ke Driver (driver database apa pun seperti JDBC, ODBC, dll.) Untuk dieksekusi.

2 Get Plan

Pengemudi membutuhkan bantuan kompilator kueri yang mengurai kueri untuk memeriksa sintaks dan rencana kueri atau persyaratan kueri.

3 Get Metadata

Kompilator mengirimkan permintaan metadata ke Metastore (database apa pun).

4 Send Metadata

Metastore mengirimkan metadata sebagai tanggapan terhadap kompilator.

5 Send Plan

Kompilator memeriksa persyaratan tersebut dan mengirim ulang rencana tersebut ke pengemudi. Sampai di sini, parsing dan kompilasi query sudah selesai.

6 Execute Plan

Pengemudi mengirimkan rencana eksekusi ke mesin eksekusi.

7 Execute Job

Secara internal, proses eksekusi pekerjaan adalah pekerjaan MapReduce. Mesin eksekusi mengirimkan pekerjaan ke JobTracker, yang ada di node Nama dan menetapkan pekerjaan ini ke TaskTracker, yang ada di node Data. Di sini, kueri menjalankan pekerjaan MapReduce.

7.1 Metadata Ops

Sedangkan dalam eksekusi, mesin eksekusi dapat menjalankan operasi metadata dengan Metastore.

8 Fetch Result

Mesin eksekusi menerima hasil dari node Data.

9 Send Results

Mesin eksekusi mengirimkan nilai-nilai yang dihasilkan tersebut ke pengemudi.

10 Send Results

Pengemudi mengirimkan hasilnya ke Hive Interfaces.