Hive adalah alat Analisis Data Besar yang banyak digunakan dalam bisnis, dan ini adalah tempat yang fantastis untuk memulai jika Anda baru menggunakan Data Besar. Pelajaran Apache Hive ini membahas dasar-dasar Apache Hive, mengapa sarang diperlukan, fitur-fiturnya, dan semua hal lain yang harus Anda ketahui.
Pertama-tama mari kita pahami kerangka Hadoop tempat Apache Hive dibangun.
Apache Hadoop
Apache Hadoop gratis dan open-source platform untuk menyimpan dan memproses kumpulan data besar mulai dari ukuran gigabyte hingga petabyte. Hadoop memungkinkan pengelompokan banyak komputer untuk menganalisis kumpulan data yang sangat besar secara paralel, daripada memerlukan satu komputer besar untuk menyimpan dan menganalisis data.
MapReduce dan Hadoop Distributed File System adalah dua komponen:
- PetaKurangi – MapReduce adalah teknik pemrograman paralel untuk menangani volume besar data terorganisir, semi-terstruktur, dan tidak terstruktur pada klaster perangkat keras komoditas.
- HDFS – HDFS (Hadoop Distributed File System) adalah komponen kerangka kerja Hadoop yang menyimpan dan memproses data. Ini adalah sistem file yang toleran terhadap kesalahan yang berjalan pada perangkat keras standar
Berbagai sub-proyek (alat) dalam ekosistem Hadoop, termasuk Sqoop, Pig, dan Hive, digunakan untuk membantu modul Hadoop.
- Sarang lebah – Hive adalah kerangka kerja untuk menulis skrip gaya SQL yang melakukan perhitungan MapReduce.
- Babi – Pig adalah bahasa pemrograman prosedural yang dapat digunakan untuk membuat skrip untuk proses MapReduce.
- Skup – Sqoop adalah alat untuk mengimpor dan mengekspor data antara HDFS dan RDBMS.
Apa itu Sarang Apache?
Apache Hive adalah sumber terbuka data warehouse program untuk membaca, menulis, dan mengelola kumpulan data besar yang disimpan langsung di Apache Hadoop Distributed File System (HDFS) atau sistem penyimpanan data lainnya seperti Apache HBase.
Pengembang SQL dapat menggunakan Hive untuk membuat pernyataan Hive Query Language (HQL) untuk kueri dan analisis data yang sebanding dengan pernyataan SQL biasa. Itu dibuat untuk membuat pemrograman MapReduce lebih mudah dengan menghilangkan kebutuhan untuk belajar dan menulis kode Java yang panjang. Sebagai gantinya, Anda dapat menulis kueri Anda di HQL, dan Hive akan membuat peta dan mengurangi fungsinya untuk Anda.
Antarmuka Apache Hive yang mirip SQL telah menjadi Standar Emas untuk melakukan pencarian ad-hoc, meringkas, dan menganalisis data Hadoop. Saat dimasukkan ke dalam cloud jaringan komputasi, solusi ini sangat hemat biaya dan skalabel, itulah sebabnya banyak perusahaan, termasuk Netflix dan Amazon, terus mengembangkan dan menyempurnakan Apache Hive.
Sejarah
Selama waktu mereka di Facebook, Joydeep Sen Sarma dan Ashish Sinceoo menciptakan Apache Hive. Mereka berdua menyadari bahwa untuk mendapatkan hasil maksimal dari Hadoop, mereka harus membuat beberapa tugas Java Map-Reduce yang agak rumit. Mereka menyadari bahwa mereka tidak akan mampu mendidik tim teknik dan analitik mereka yang berkembang pesat tentang keterampilan yang mereka perlukan untuk memanfaatkan Hadoop di seluruh perusahaan. Insinyur dan analis sering menggunakan SQL sebagai antarmuka pengguna.
Sementara SQL dapat memenuhi sebagian besar kebutuhan analitik, para pengembang juga bermaksud untuk menggabungkan kemampuan program Hadoop. Apache Hive muncul dari dua tujuan ini: bahasa deklaratif berbasis SQL yang juga memungkinkan pengembang untuk membawa skrip dan program mereka sendiri ketika SQL tidak cukup.
Itu juga dikembangkan untuk menyimpan metadata terpusat (berbasis Hadoop) tentang semua kumpulan data di perusahaan untuk membuat konstruksi organisasi berbasis data lebih mudah.
Bagaimana cara kerja Apache Hive?
Singkatnya, Apache Hive mengubah program input yang ditulis dalam bahasa HiveQL (seperti SQL) menjadi satu atau lebih tugas Java MapReduce, Tez, atau Spark. (Semua mesin eksekusi ini kompatibel dengan Hadoop YARN.) Setelah itu, Apache Hive mengatur data ke dalam tabel untuk Hadoop Distributed File System HDFS) dan melakukan tugas pada sebuah cluster untuk mendapatkan jawaban.
Data
Tabel Apache Hive disusun dengan cara yang sama seperti tabel dalam database relasional, dengan unit data mulai dari ukuran yang lebih besar hingga yang lebih kecil. Basis data terdiri dari tabel yang dibagi menjadi beberapa divisi, yang selanjutnya dibagi lagi menjadi ember. HiveQL (Hive Query Language) digunakan untuk mengakses data, yang dapat diubah atau ditambahkan. Data tabel diserialisasi dalam setiap database, dan setiap tabel memiliki direktori HDFS sendiri.
Arsitektur
Sekarang kita akan berbicara tentang aspek terpenting dari Arsitektur Hive. Komponen Apache Hive adalah sebagai berikut:
toko meta — Itu melacak informasi tentang setiap tabel, seperti struktur dan lokasinya. Metadata partisi juga disertakan dalam Hive. Ini memungkinkan pengemudi untuk melacak kemajuan set data berbeda yang tersebar di seluruh cluster. Data disimpan dalam format RDBMS konvensional. Metadata sarang sangat penting bagi pengemudi untuk melacak data. Server cadangan menggandakan data secara teratur sehingga dapat dipulihkan jika terjadi kehilangan data.
sopir – Pernyataan HiveQL diterima oleh driver, yang berfungsi sebagai pengontrol. Dengan menetapkan sesi, pengemudi memulai eksekusi pernyataan. Itu melacak umur dan kemajuan eksekutif. Selama eksekusi pernyataan HiveQL, driver menyimpan metadata yang diperlukan. Ini juga berfungsi sebagai titik pengumpulan data atau hasil kueri setelah proses Reduce.
Penyusun – Ini mengeksekusi kompilasi kueri HiveQL. Kueri sekarang dikonversi ke rencana eksekusi. Tugas tercantum dalam rencana. Ini juga mencakup langkah-langkah yang harus dilakukan MapReduce untuk mendapatkan hasil yang diterjemahkan oleh kueri. Kueri dikonversi ke Pohon Sintaks Abstrak oleh kompiler Hive (AST). Mengonversi AST ke Grafik Acyclic Terarah setelah memeriksa kompatibilitas dan kesalahan waktu kompilasi (DAG).
Pengoptimal – Ini mengoptimalkan DAG dengan melakukan berbagai perubahan pada rencana eksekusi. Ini menggabungkan transformasi untuk meningkatkan efisiensi, seperti mengubah pipa gabungan menjadi satu gabungan. Untuk meningkatkan kecepatan, pengoptimal mungkin membagi aktivitas, seperti menerapkan transformasi ke data sebelum melakukan operasi reduksi.
Pelaksana – Pelaksana menjalankan tugas ketika kompilasi dan pengoptimalan selesai. Pekerjaan disalurkan oleh Pelaksana.
CLI, UI, dan Server Hemat – Antarmuka baris perintah (CLI) adalah antarmuka pengguna yang memungkinkan pengguna eksternal untuk berkomunikasi dengan Hive. Server hemat Hive, mirip dengan protokol JDBC atau ODBC, memungkinkan klien eksternal untuk berkomunikasi dengan Hive melalui jaringan.
Security
Apache Hive terintegrasi dengan keamanan Hadoop, yang menggunakan Kerberos untuk otentikasi bersama klien-server. HDFS menentukan izin untuk file yang baru dibuat di Apache Hive, memungkinkan Anda untuk disetujui oleh pengguna, grup, dan lainnya.
Fitur Utama
- Hive mendukung tabel eksternal, yang memungkinkan Anda memproses data tanpa menyimpannya di HDFS.
- Ini juga memungkinkan segmentasi data di tingkat tabel untuk meningkatkan kecepatan.
- Apache Hive sangat baik memenuhi kebutuhan antarmuka tingkat rendah Hadoop.
- Hive membuat peringkasan data, kueri, dan analisis menjadi lebih mudah.
- HiveQL tidak memerlukan keahlian pemrograman apa pun; pemahaman sederhana tentang kueri SQL sudah cukup.
- Kami juga dapat menggunakan Hive untuk melakukan kueri ad-hoc untuk analisis data.
- Ini scalable, familiar, dan mudah beradaptasi.
- HiveQL tidak memerlukan keahlian pemrograman apa pun; pemahaman sederhana tentang kueri SQL sudah cukup.
manfaat
Apache Hive memungkinkan laporan akhir hari, evaluasi transaksi harian, pencarian ad-hoc, dan analisis data. Wawasan komprehensif yang diberikan oleh Apache Hive memberikan keunggulan kompetitif yang signifikan dan memudahkan Anda untuk menanggapi permintaan pasar.
Berikut adalah beberapa manfaat dari memiliki informasi tersebut tersedia:
- Mudah digunakan – Dengan bahasanya yang mirip SQL, membuat kueri data mudah dipahami.
- Penyisipan data yang dipercepat — Karena Apache Hive membaca skema tanpa memverifikasi jenis tabel atau definisi skema, data tidak harus dibaca, diuraikan, dan diserialisasi ke disk dalam format internal database. Sebaliknya, dalam database konvensional, data harus divalidasi setiap kali ditambahkan.
- Skalabilitas, fleksibilitas, dan efektivitas biaya yang unggul – Karena data disimpan dalam HDFS, Apache Hive dapat menampung 100-petabyte data, menjadikannya opsi yang jauh lebih terukur daripada database biasa. Apache Hive, sebagai layanan Hadoop berbasis cloud, memungkinkan pelanggan memutar naik dan turun server virtual dengan cepat untuk memenuhi beban kerja yang berubah.
- Kapasitas kerja yang luas – Kumpulan data besar dapat menangani hingga 100,000 kueri per jam.
keterbatasan
- Secara umum, kueri Apache Hive memiliki latensi yang sangat tinggi.
- Dukungan subquery terbatas.
- Kueri waktu nyata dan perubahan tingkat baris tidak tersedia di Apache Hive.
- Tidak ada dukungan untuk pandangan yang terwujud.
- Di sarang, tindakan pembaruan dan penghapusan tidak didukung.
- Tidak dimaksudkan untuk OLTP (proses transisi online).
Memulai Apache Hive
Apache Hive adalah mitra Hadoop kuat yang menyederhanakan dan merampingkan alur kerja Anda. Untuk mendapatkan hasil maksimal dari Apache Hive, integrasi tanpa batas sangat penting. Langkah pertama adalah pergi ke situs web.
1. Instalasi Hive dari Rilis Stabil
Mulailah dengan mengunduh rilis stabil terbaru Hive dari salah satu mirror unduhan Apache (lihat Rilis Sarang). Tarball kemudian harus dibongkar. Ini akan membuat subfolder bernama Hive-xyz (di mana xyz adalah nomor rilis):
Setel variabel lingkungan HIVE_HOME untuk menunjuk ke direktori instalasi:
Terakhir, tambahkan $HIVE_HOME/bin ke Anda PATH
:
2. Menjalankan Sarang
Hive menggunakan Hadoop, jadi:
- Anda harus memiliki Hadoop di jalur Anda ATAU
3. Operasi DLL
Membuat Tabel Hive
menghasilkan tabel bernama pokes dengan dua kolom, yang pertama adalah bilangan bulat dan yang kedua adalah string.
Menelusuri Tabel
Daftar Semua Tabel
Mengubah dan Menjatuhkan Tabel
Nama tabel dapat diubah dan kolom dapat ditambahkan atau diganti:
Perlu dicatat bahwa REPLACE COLUMNS menggantikan semua kolom yang ada sementara hanya mengubah struktur tabel dan bukan data. SerDe asli harus digunakan dalam tabel. REPLACE COLUMNS juga dapat digunakan untuk menghapus kolom dari skema tabel:
Menjatuhkan Meja
Ada banyak operasi dan fitur tambahan di Apache Hive yang dapat Anda pelajari dengan mengunjungi situs web resminya.
Kesimpulan
Definisi Hive adalah antarmuka program data untuk kueri dan analisis kumpulan data besar yang dibangun di atas Apache Hadoop. Profesional memilihnya daripada program, alat, dan perangkat lunak lain karena ini terutama dirancang untuk data ekstensif Hive dan mudah digunakan.
Semoga tutorial ini membantu Anda memulai dengan Apache Hive dan membuat alur kerja Anda lebih efisien. Beri tahu kami di komentar.
Tinggalkan Balasan