Apa itu Hive di Hadoop? Sejarah dan Komponennya

Diterbitkan: 2021-10-07

Apache Hive adalah sistem pergudangan open-source yang dibangun di atas Hadoop. Hive digunakan untuk menanyakan dan menganalisis kumpulan data besar yang disimpan dalam Hadoop. Ia bekerja dengan memproses data terstruktur dan semi terstruktur.

Melalui artikel ini, mari kita bicara secara detail tentang Hive di Hadoop, sejarahnya, kepentingannya, arsitektur Hive, beberapa fitur utama, beberapa batasan, dan banyak lagi!

Daftar isi

Apa itu Hive?

Apache Hive hanyalah perangkat lunak gudang data yang dibangun dengan menggunakan Hadoop sebagai basisnya. Sebelum Apache Hive, insinyur Big Data harus menulis tugas pengurangan peta yang kompleks untuk melakukan tugas kueri. Dengan Hive, di sisi lain, hal-hal berkurang secara drastis karena para insinyur sekarang hanya perlu mengetahui SQL.

Hive bekerja pada bahasa yang dikenal sebagai HiveQL (mirip dengan SQL), sehingga memudahkan para insinyur yang memiliki pengetahuan tentang SQL. HiveQL secara otomatis menerjemahkan kueri SQL Anda menjadi pekerjaan pengurangan peta yang dapat dijalankan Hadoop.

Dalam melakukannya, Apache menyajikan konsep abstraksi ke dalam cara kerja Hadoop dan memungkinkan pakar data untuk menangani kumpulan data yang kompleks tanpa mempelajari bahasa pemrograman Java untuk bekerja dengan Hive. Apache Hive bekerja di workstation Anda dan mengonversi kueri SQL menjadi tugas pengurangan peta untuk dieksekusi di klaster Hadoop. Hive mengkategorikan semua data Anda ke dalam tabel, sehingga menyediakan struktur untuk semua data yang ada di HDFS.

Sejarah Apache Hive

Tim Infrastruktur Data memperkenalkan Apache Hive di Facebook. Ini adalah salah satu teknologi yang digunakan secara proaktif di Facebook untuk berbagai tujuan internal. Selama bertahun-tahun, Apache Hive telah menjalankan ribuan pekerjaan di cluster dengan ratusan pengguna untuk berbagai aplikasi.

Cluster Hive-Hadoop di Facebook menyimpan lebih dari 3PB data mentah. Itu dapat memuat 15TB data secara real-time setiap hari. Dari sana, Apache Hive semakin berkembang dalam kasus penggunaannya, dan hari ini, digunakan oleh raksasa seperti IBM, Yahoo, Amazon, FINRA, Netflix, dan banyak lagi.

Dapatkan sertifikasi ilmu data Anda secara online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Mengapa Perlu Apache Hive?

Sebelum membuat Apache Hive, Facebook berjuang dengan banyak tantangan seperti ukuran data yang terus meningkat untuk dianalisis dan inkonsistensi total dalam kumpulan data besar ini. Tantangan-tantangan ini mempersulit Facebook untuk menangani tugas-tugas intensif datanya dengan mulus. Struktur berbasis RDBMS tradisional tidak cukup untuk mengontrol tekanan yang terus meningkat.

Facebook pertama kali memperkenalkan pengurangan peta untuk mengatasi tantangan ini tetapi kemudian menyederhanakannya lebih lanjut dengan menawarkan Apache Hive, yang berfungsi di HiveQL.

Akhirnya, Apache Hive muncul sebagai penyelamat yang sangat dibutuhkan dan membantu Facebook mengatasi berbagai tantangan. Sekarang, menggunakan Apache Hive, Facebook dapat mencapai hal berikut:

  • Evolusi dan fleksibilitas skema.
  • Partisi dan bucketing tabel.
  • Mendefinisikan tabel Hive langsung di HDFS.
  • Ketersediaan driver ODBC/JDBC.

Secara keseluruhan, Apache Hive membantu pengembang menghemat banyak waktu yang seharusnya digunakan untuk menulis pekerjaan pengurangan peta yang rumit. Hive menghadirkan kesederhanaan untuk meringkas, menganalisis, membuat kueri, dan menjelajahi data.

Karena hanya bergantung pada SQL, Apache Hive adalah kerangka kerja yang cepat dan skalabel serta sangat dapat diperluas. Jika Anda memahami kueri dasar menggunakan SQL, Anda akan dapat bekerja dengan Apache Hive dalam waktu singkat! Ini juga menawarkan akses file pada penyimpanan data yang berbeda seperti HBase dan HDFS.

Arsitektur Apache Hive

Sekarang setelah Anda memahami pentingnya dan kemunculan Apache Hive, mari kita lihat komponen utama Apache Hive. Arsitektur Apache Hive meliputi:

1. Toko Meta

Ini digunakan untuk menyimpan metadata untuk setiap tabel. Metadata umumnya terdiri dari lokasi dan skema. Metastore juga terdiri dari metadata partisi, yang membantu para insinyur melacak kemajuan berbagai kumpulan data yang telah didistribusikan di atas klaster. Data yang disimpan di sini dalam format RDBMS tradisional.

2. Pengemudi

Driver di Apache Hive seperti pengontrol yang bertanggung jawab untuk menerima pernyataan HiveQL. Kemudian, ia memulai eksekusi pernyataan ini dengan membuat sesi yang berbeda. Pengemudi juga bertanggung jawab untuk memantau dan mengelola siklus hidup implementasi dan kemajuannya di sepanjang jalan. Driver menyimpan semua metadata penting yang dihasilkan saat pernyataan HiveQL dijalankan. Ini juga bertindak sebagai titik pengumpulan data yang diperoleh setelah operasi pengurangan peta.

3. Kompilator

Kompiler digunakan untuk mengkompilasi kueri HiveQL. Ini mengubah kueri yang dibuat pengguna menjadi rencana eksekusi yang sangat mudah yang berisi semua tugas yang perlu dilakukan. Rencana tersebut juga mencakup semua langkah dan prosedur yang diperlukan untuk mengikuti pengurangan peta untuk mendapatkan hasil yang diperlukan. Kompiler Hive mengubah kueri input pengguna menjadi AST (Abstract Syntax Tree) untuk memeriksa kesalahan waktu kompilasi atau masalah kompatibilitas. AST diubah menjadi Directed Acyclic Graph (DAG) ketika tidak ada masalah yang ditemukan.

4. Pengoptimal

Pengoptimal melakukan semua transformasi pada rencana eksekusi yang diperlukan untuk mencapai DAG yang dioptimalkan. Ia melakukannya dengan menggabungkan semua transformasi bersama-sama, seperti mengubah array gabungan individu menjadi satu gabungan – untuk meningkatkan kinerja. Selain itu, pengoptimal dapat membagi tugas yang berbeda dengan menerapkan transformasi pada data sebelum operasi yang dikurangi dilakukan – sekali lagi, untuk meningkatkan kinerja secara keseluruhan.

5. Pelaksana –

Setelah Apache Hive melakukan tugas kompilasi dan optimasi, pelaksana melakukan eksekusi akhir. Ini menangani pipelining tugas dan menyelesaikannya.

6. CLI, UI, dan Server Hemat

Antarmuka baris perintah (CLI) digunakan untuk menyediakan antarmuka pengguna kepada pengguna eksternal untuk berinteraksi dengan berbagai fitur Apache Hive. CLI adalah apa yang membentuk UI Hive untuk pengguna akhir. Di sisi lain, server Thrift memungkinkan klien eksternal untuk berinteraksi dengan Hive melalui jaringan, mirip dengan protokol ODBC atau JDBC.

Fitur Inti dari Apache Hive

Seperti yang disebutkan sebelumnya, Apache Hive membawa perubahan yang sangat dibutuhkan dalam cara para insinyur mengerjakan pekerjaan data. Java tidak lagi menjadi bahasa utama, dan pengembang dapat bekerja hanya dengan menggunakan SQL. Selain itu, ada beberapa fitur penting lainnya dari Hive juga, seperti:

  • Apache Hive menawarkan peringkasan data, analisis, dan kueri dengan cara yang jauh lebih sederhana.
  • Hive mendukung tabel internal dan eksternal, sehingga memungkinkan untuk bekerja dengan data eksternal tanpa membawanya ke H DFS.
  • Apache Hive bekerja dengan sangat baik untuk persyaratan antarmuka tingkat rendah Hadoop.
  • Dengan mendukung partisi data pada tingkat tabel, Apache Hive membantu meningkatkan kinerja secara keseluruhan.
  • Ini memiliki pengoptimal berbasis aturan untuk mengoptimalkan rencana logis yang berbeda.
  • Ini bekerja pada HiveQL, bahasa yang mirip dengan SQL, yang berarti pengembang tidak perlu menguasai bahasa lain untuk bekerja dengan kumpulan data besar.
  • Query di Hive sangat sederhana, mirip dengan SQL.
  • Kami juga dapat menjalankan kueri Ad-hoc untuk analisis data menggunakan Hive.

Batasan Apache Hive

Karena dunia Ilmu Data relatif baru dan terus berkembang, bahkan alat terbaik yang tersedia di pasar memiliki beberapa keterbatasan. Menyelesaikan keterbatasan itu akan memberi kita alat terbaik berikutnya. Berikut adalah beberapa batasan bekerja dengan Apache Hive untuk Anda ingat:

  • Hive tidak menawarkan pembaruan tingkat baris dan kueri waktu nyata.
  • Apache Hive menyediakan latensi yang dapat diterima untuk interaktivitas.
  • Ini bukan yang terbaik untuk bekerja dengan transaksi online.
  • Latensi dalam kueri Hive umumnya lebih tinggi dari rata-rata.

Kesimpulannya

Apache Hive membawa peningkatan drastis dan menakjubkan dalam cara para insinyur data bekerja pada kumpulan data besar. Selain itu, dengan sepenuhnya menghilangkan kebutuhan akan bahasa pemrograman Java, Apache Hive menghadirkan kenyamanan yang akrab bagi para insinyur data. Hari ini, Anda dapat bekerja dengan lancar dengan Apache Hive jika Anda memiliki pengetahuan dasar tentang kueri SQL.

Seperti yang kami sebutkan sebelumnya, Ilmu Data adalah bidang yang dinamis dan terus berkembang. Kami yakin bahwa tahun-tahun mendatang akan menghadirkan alat dan kerangka kerja baru untuk menyederhanakan berbagai hal lebih jauh. Jika Anda adalah penggemar data yang ingin mempelajari semua alat perdagangan Ilmu Data, sekarang adalah waktu terbaik untuk menguasai alat Big Data seperti Hive.

Di upGrad, kami telah membimbing dan membimbing siswa dari seluruh dunia dan membantu orang-orang dari berbagai latar belakang membangun pijakan yang kuat di industri Ilmu Data. Guru ahli kami, kemitraan industri, bantuan penempatan, dan jaringan alumni yang kuat memastikan bahwa Anda tidak pernah sendirian dalam perjalanan ini. Jadi, lihat Program PG Eksekutif kami di Ilmu Data , dan daftarkan diri Anda di program yang tepat untuk Anda – kami akan mengurus sisanya!

Apa itu Apache Hive di Hadoop?

Apache Hive adalah kerangka kerja atau sistem yang digunakan untuk menyimpan, membuat kueri, dan menganalisis kumpulan data yang besar. Apache Hive diperkenalkan oleh Facebook untuk meningkatkan operasi internalnya dan sejak itu telah menjadi bagian integral dari spektrum Ilmu Data.

Apakah saya perlu mempelajari bahasa tertentu untuk bekerja dengan Apache Hive di Hadoop?

Tidak! Pengetahuan tentang SQL saja sudah cukup bagi Anda untuk memulai Apache Hive!

Untuk apa Apache Hive TIDAK digunakan?

Apache Hive umumnya digunakan untuk OLAP (pemrosesan batch) dan umumnya tidak digunakan untuk OLTP karena operasi waktu nyata pada database.