Hive ialah alat Analitis Data Besar yang digunakan secara meluas dalam perniagaan, dan ia merupakan tempat yang hebat untuk bermula jika anda baru menggunakan Data Besar. Pelajaran Apache Hive ini melalui asas Apache Hive, sebab sarang diperlukan, ciri-cirinya dan semua perkara lain yang perlu anda ketahui.
Mari kita fahami rangka kerja Hadoop di mana Apache Hive dibina.
Apache Hadoop
Apache Hadoop adalah percuma dan sumber terbuka platform untuk menyimpan dan memproses set data besar dalam julat saiz daripada gigabait hingga petabait. Hadoop membenarkan pengelompokan banyak komputer untuk menganalisis set data yang besar secara selari, dan bukannya memerlukan satu komputer besar untuk menyimpan dan menganalisis data.
Sistem Fail Teragih MapReduce dan Hadoop ialah dua daripada komponen:
- Pengurangan Peta – MapReduce ialah teknik pengaturcaraan selari untuk mengendalikan sejumlah besar data tersusun, separa berstruktur dan tidak berstruktur pada kelompok perkakasan komoditi.
- HDFS – HDFS (Sistem Fail Teragih Hadoop) ialah komponen rangka kerja Hadoop yang menyimpan dan memproses data. Ia adalah sistem fail toleran kesalahan yang berjalan pada perkakasan standard
Subprojek (alat) yang berbeza dalam ekosistem Hadoop, termasuk Sqoop, Pig dan Hive, digunakan untuk membantu modul Hadoop.
- Sarang – Hive ialah rangka kerja untuk menulis skrip gaya SQL yang melaksanakan pengiraan MapReduce.
- babi – Babi ialah bahasa pengaturcaraan prosedur yang boleh digunakan untuk mencipta skrip untuk proses MapReduce.
- Sqoop – Sqoop ialah alat untuk mengimport dan mengeksport data antara HDFS dan RDBMS.
Apakah Sarang Apache?
Apache Hive ialah sumber terbuka gudang data program untuk membaca, menulis dan mengurus set data besar yang disimpan terus dalam Sistem Fail Teragih Apache Hadoop (HDFS) atau sistem storan data lain seperti Apache HBase.
Pembangun SQL boleh menggunakan Hive untuk mencipta pernyataan Hive Query Language (HQL) untuk pertanyaan dan analisis data yang setanding dengan pernyataan SQL biasa. Ia dicipta untuk memudahkan pengaturcaraan MapReduce dengan menghapuskan keperluan untuk belajar dan menulis kod Java yang panjang. Sebaliknya, anda boleh menulis pertanyaan anda dalam HQL, dan Hive akan membina peta dan mengurangkan fungsi untuk anda.
Antara muka seperti SQL bagi Apache Hive telah menjadi Standard Emas untuk melaksanakan carian ad-hoc, meringkaskan dan menganalisis data Hadoop. Apabila dimasukkan ke dalam awan rangkaian pengkomputeran, penyelesaian ini amat menjimatkan kos dan berskala, itulah sebabnya banyak firma, termasuk Netflix dan Amazon, terus membangunkan dan menambah baik Apache Hive.
Sejarah
Semasa berada di Facebook, Joydeep Sen Sarma dan Ashish Thusoo mencipta Apache Hive bersama. Mereka berdua menyedari bahawa untuk memanfaatkan Hadoop sepenuhnya, mereka perlu membuat beberapa tugas Java Map-Reduce yang agak rumit. Mereka menyedari bahawa mereka tidak akan dapat mendidik pasukan kejuruteraan dan analitik mereka yang berkembang pesat tentang kemahiran yang mereka perlukan untuk memanfaatkan Hadoop di seluruh syarikat. Jurutera dan penganalisis kerap menggunakan SQL sebagai antara muka pengguna.
Walaupun SQL boleh memenuhi sebahagian besar keperluan analitik, pembangun juga berhasrat untuk menggabungkan kebolehprograman Hadoop. Apache Hive timbul daripada dua objektif ini: bahasa perisytiharan berasaskan SQL yang turut membolehkan pembangun membawa masuk skrip dan program mereka sendiri apabila SQL tidak mencukupi.
Ia juga dibangunkan untuk memegang metadata terpusat (berasaskan Hadoop) tentang semua set data dalam syarikat untuk memudahkan pembinaan organisasi dipacu data.
Bagaimanakah Apache Hive berfungsi?
Secara ringkasnya, Apache Hive menukar atur cara input yang ditulis dalam bahasa HiveQL (seperti SQL) kepada satu atau lebih tugas Java MapReduce, Tez atau Spark. (Semua enjin pelaksanaan ini serasi dengan Hadoop YARN.) Selepas itu, Apache Hive menyusun data ke dalam jadual untuk Hadoop Distributed File System HDFS) dan melaksanakan tugas pada kelompok untuk mendapatkan jawapan.
Tarikh
Jadual Apache Hive disusun dengan cara yang sama seperti jadual dalam pangkalan data hubungan disusun, dengan unit data berjulat dari saiz yang lebih besar kepada yang lebih kecil. Pangkalan data terdiri daripada jadual yang dibahagikan kepada bahagian, yang kemudiannya dibahagikan kepada baldi. HiveQL (Hive Query Language) digunakan untuk mengakses data, yang boleh diubah atau ditambah. Data jadual bersiri dalam setiap pangkalan data, dan setiap jadual mempunyai direktori HDFS sendiri.
Seni bina
Sekarang kita akan bercakap tentang aspek terpenting dalam Seni Bina Hive. Komponen Apache Hive adalah seperti berikut:
Metastore — Ia menjejaki maklumat tentang setiap jadual, seperti struktur dan lokasinya. Metadata partition juga disertakan dalam Hive. Ini membolehkan pemandu menjejaki kemajuan set data yang berbeza yang tersebar di seluruh kluster. Data disimpan dalam format RDBMS konvensional. Metadata sarang sangat penting untuk pemandu mengekalkan jejak data. Pelayan sandaran menduplikasi data secara tetap supaya ia boleh dipulihkan sekiranya berlaku kehilangan data.
Pemandu – Pernyataan HiveQL diterima oleh pemandu, yang berfungsi sebagai pengawal. Dengan menubuhkan sesi, pemandu memulakan pelaksanaan kenyataan. Ia menjejaki jangka hayat dan kemajuan eksekutif. Semasa pelaksanaan pernyataan HiveQL, pemacu menyimpan metadata yang diperlukan. Ia juga berfungsi sebagai titik pengumpulan hasil data atau pertanyaan selepas proses Kurangkan.
Pengkompil – Ia melaksanakan kompilasi pertanyaan HiveQL. Pertanyaan kini ditukar kepada pelan pelaksanaan. Tugasan disenaraikan dalam rancangan. Ia juga termasuk langkah-langkah yang MapReduce mesti ambil untuk mendapatkan hasil seperti yang diterjemahkan oleh pertanyaan. Pertanyaan ditukar kepada Pokok Sintaks Abstrak oleh pengkompil Hive (AST). Menukar AST kepada Graf Akiklik Terarah selepas menyemak keserasian dan kerosakan masa kompilasi (DAG).
Pengoptimal – Ia mengoptimumkan DAG dengan melakukan perubahan berbeza pada pelan pelaksanaan. Ia menggabungkan transformasi untuk kecekapan yang lebih baik, seperti menukar saluran paip cantuman menjadi satu cantuman. Untuk meningkatkan kelajuan, pengoptimum mungkin membahagikan aktiviti, seperti menggunakan transformasi pada data sebelum melakukan operasi pengurangan.
Executor – Pelaksana menjalankan tugas apabila kompilasi dan pengoptimuman selesai. Kerja-kerja diuruskan oleh Pelaksana.
CLI, UI dan Pelayan Jimat – Antara muka baris arahan (CLI) ialah antara muka pengguna yang membolehkan pengguna luaran berkomunikasi dengan Hive. Pelayan jimat Hive, serupa dengan protokol JDBC atau ODBC, membenarkan pelanggan luar berkomunikasi dengan Hive melalui rangkaian.
Keselamatan
Apache Hive disepadukan dengan keselamatan Hadoop, yang menggunakan Kerberos untuk pengesahan bersama pelayan pelanggan. HDFS menentukan kebenaran untuk fail yang baru dijana dalam Apache Hive, membolehkan anda meluluskan oleh pengguna, kumpulan dan lain-lain.
Ciri-ciri utama
- Hive menyokong jadual luaran, yang membolehkan anda memproses data tanpa menyimpannya dalam HDFS.
- Ia juga membolehkan pembahagian data di peringkat jadual untuk meningkatkan kelajuan.
- Apache Hive memenuhi keperluan antara muka tahap rendah Hadoop dengan cemerlang.
- Hive menjadikan ringkasan data, pertanyaan dan analisis lebih mudah.
- HiveQL tidak memerlukan sebarang kemahiran pengaturcaraan; pemahaman mudah tentang pertanyaan SQL sudah memadai.
- Kami juga boleh menggunakan Hive untuk menjalankan pertanyaan ad-hoc untuk analisis data.
- Ia boleh berskala, biasa dan boleh disesuaikan.
- HiveQL tidak memerlukan sebarang kemahiran pengaturcaraan; pemahaman mudah tentang pertanyaan SQL sudah memadai.
Faedah-faedah
Apache Hive membenarkan laporan akhir hari, penilaian transaksi harian, carian ad-hoc dan analisis data. Cerapan komprehensif yang disediakan oleh Apache Hive memberikan kelebihan daya saing yang ketara dan memudahkan anda untuk bertindak balas terhadap permintaan pasaran.
Berikut adalah beberapa faedah untuk mendapatkan maklumat sedemikian dengan mudah:
- Kemudahan penggunaan – Dengan bahasa seperti SQLnya, data pertanyaan adalah mudah untuk difahami.
- Penyisipan data dipercepatkan — Oleh kerana Apache Hive membaca skema tanpa mengesahkan jenis jadual atau definisi skema, data tidak perlu dibaca, dihuraikan dan disiri ke cakera dalam format dalaman pangkalan data. Sebaliknya, dalam pangkalan data konvensional, data mesti disahkan setiap kali ia ditambah.
- Skala yang unggul, fleksibiliti dan keberkesanan kos – Oleh kerana data disimpan dalam HDFS, Apache Hive boleh menyimpan 100s petabait data, menjadikannya pilihan yang jauh lebih berskala daripada pangkalan data biasa. Apache Hive, sebagai perkhidmatan Hadoop berasaskan awan, membolehkan pelanggan memutarkan pelayan maya ke atas dan ke bawah dengan pantas untuk memenuhi beban kerja yang berubah-ubah.
- Kapasiti kerja yang luas – Set data yang besar boleh mengendalikan sehingga 100,000 pertanyaan sejam.
Batasan
- Secara umum, pertanyaan Apache Hive mempunyai kependaman yang sangat tinggi.
- Sokongan subquery adalah terhad.
- Pertanyaan masa nyata dan perubahan peringkat baris tidak tersedia dalam Apache Hive.
- Tiada sokongan untuk pandangan terwujud.
- Dalam sarang, tindakan kemas kini dan padam tidak disokong.
- Tidak dimaksudkan untuk OLTP (proses peralihan dalam talian).
Bermula dengan Apache Hive
Apache Hive ialah rakan kongsi Hadoop yang kuat yang memudahkan dan memperkemas aliran kerja anda. Untuk memanfaatkan sepenuhnya Apache Hive, penyepaduan yang lancar adalah penting. Langkah pertama ialah pergi ke laman web.
1. Hive Pemasangan daripada Keluaran Stabil
Mulakan dengan memuat turun keluaran stabil terkini Hive daripada salah satu cermin muat turun Apache (lihat Keluaran Hive). Tarball kemudiannya mesti dibongkar. Ini akan mencipta subfolder yang dipanggil hive-xyz (di mana xyz ialah nombor keluaran):
Tetapkan pembolehubah persekitaran HIVE_HOME untuk menunjuk ke direktori pemasangan:
Akhir sekali, tambahkan $HIVE_HOME/bin pada anda PATH
:
2. Running Hive
Hive menggunakan Hadoop, jadi:
- anda mesti mempunyai Hadoop di laluan anda ATAU
3. Operasi DLL
Mencipta Jadual Hive
menjana jadual bernama pokes dengan dua lajur, yang pertama ialah integer dan yang kedua ialah rentetan.
Melayari Jadual
Menyenaraikan Semua Jadual
Mengubah dan Menggugurkan Jadual
Nama jadual boleh ditukar dan lajur boleh ditambah atau diganti:
Perlu diingat bahawa REPLACE COLUMNS menggantikan semua lajur sedia ada sambil hanya menukar struktur jadual dan bukan data. SerDe asli mesti digunakan dalam jadual. REPLACE COLUNS juga boleh digunakan untuk mengalih keluar lajur daripada skema jadual:
Menjatuhkan Meja
Terdapat banyak operasi dan ciri tambahan dalam Apache Hive yang boleh anda pelajari dengan melawati tapak web rasmi.
Kesimpulan
Definisi Hive ialah antara muka program data untuk pertanyaan dan analisis bagi set data besar yang dibina di atas Apache Hadoop. Profesional memilihnya berbanding program, alatan dan perisian lain kerana ia direka terutamanya untuk data yang luas Hive dan mudah digunakan.
Harap tutorial ini membantu anda memulakan dengan Apache Hive dan menjadikan aliran kerja anda lebih cekap. Beritahu kami dalam ulasan.
Sila tinggalkan balasan anda