Rumah >masalah biasa >Apakah perkhidmatan yang disediakan oleh komponen sarang?

Apakah perkhidmatan yang disediakan oleh komponen sarang?

青灯夜游
青灯夜游asal
2022-11-18 11:57:002555semak imbas

Perkhidmatan yang boleh disediakan oleh komponen sarang: 1. Tukar pernyataan SQL kepada kod mapreduce 2. Data boleh disimpan, menggunakan HDFS 3. Data boleh dikira, menggunakan MapReduce; hive ialah alat gudang data berdasarkan Hadoop, digunakan untuk pengekstrakan data, transformasi dan pemuatan alat gudang data sarang boleh memetakan fail data berstruktur ke dalam jadual pangkalan data, dan menyediakan fungsi pertanyaan SQL, yang boleh menukar penyataan SQL kepada tugasan MapReduce untuk dilaksanakan; .

Apakah perkhidmatan yang disediakan oleh komponen sarang?

Persekitaran pengendalian tutorial ini: sistem Windows 7, komputer Dell G3.

Apabila membina gudang data, komponen Hive memainkan peranan yang sangat penting Kami tahu bahawa Hive ialah alat gudang data yang penting berdasarkan Hadoop, tetapi cara menggunakannya memerlukan penerokaan lanjut.


Apa itu Hive

Hive ialah alat gudang data berdasarkan Hadoop, digunakan untuk pengekstrakan data, transformasi dan memuatkannya ialah mekanisme yang boleh menyimpan, bertanya dan menganalisis data berskala besar yang disimpan dalam Hadoop. Alat gudang data sarang boleh memetakan fail data berstruktur ke dalam jadual pangkalan data, dan menyediakan fungsi pertanyaan SQL, yang boleh menukar penyataan SQL kepada tugas MapReduce untuk pelaksanaan. Kelebihan Hive ialah ia mempunyai kos pembelajaran yang rendah dan boleh melaksanakan statistik MapReduce pantas melalui pernyataan seperti SQL, menjadikan MapReduce lebih mudah tanpa perlu membangunkan aplikasi MapReduce khusus. hive sangat sesuai untuk analisis statistik gudang data

Untuk apa Hive digunakan?

1 > 2. Data boleh disimpan menggunakan HDFS
3. Data boleh dikira menggunakan MapReduce

Apakah kelebihan Hive

Kelebihan a.Hive

(1) Mudah dan mudah digunakan: Menyediakan HQL bahasa pertanyaan seperti SQL

(2) Boleh skala: direka untuk set data yang sangat besar Keupayaan pengkomputeran/pengembangan (MR sebagai enjin pengkomputeran, HDFS sebagai sistem storan)

Secara amnya, tidak perlu memulakan semula perkhidmatan Hive secara bebas boleh mengembangkan skala kluster.

(3) Menyediakan pengurusan metadata bersatu

(4) Skalabiliti: Hive menyokong fungsi yang ditentukan pengguna dan pengguna boleh melaksanakan fungsi mereka sendiri mengikut keperluan mereka sendiri

( 5) Toleransi kesalahan: toleransi kesalahan yang baik, jika terdapat masalah dengan nod, SQL masih boleh dilaksanakan

b Kelemahan Hive

(1)hive's. Keupayaan ekspresi HQL Terhad

  • 1) Algoritma berulang tidak boleh dinyatakan, seperti pagerank

  • 2) Perlombongan data, seperti kmeans

(2) Kecekapan sarang adalah agak rendah

  • 1) Pekerjaan mapreduce secara automatik yang dijana oleh sarang biasanya tidak cukup pintar

  • 2) Penalaan sarang adalah sukar dan butirannya kasar

  • 3) Sarang mempunyai kebolehkawalan yang lemah

(3 ) Hive tidak menyokong sesuatu . Digunakan terutamanya untuk OLAP (Pemprosesan Analitik Dalam Talian)

Apakah perkhidmatan yang disediakan oleh komponen sarang?

1) Data yang diproses oleh Hive disimpan dalam HDFS

2) Pelaksanaan lalai analisis data asas Hive ialah MapReduce

3) Program pelaksanaan berjalan pada Yarn

Ringkasan: Ia bersamaan dengan pelanggan kesan hadoop.

Mengapa menggunakan Hive

(1) Perbandingan antara Hive dan pangkalan data tradisional

Apakah perkhidmatan yang disediakan oleh komponen sarang?

Hive digunakan untuk analisis data luar talian bagi data besar-besaran. Hive mempunyai rupa pangkalan data SQL, tetapi senario aplikasi adalah berbeza sama sekali. Hive hanya sesuai untuk analisis statistik data kelompok.

(2) Kelebihan Hive

Hive menggunakan HDFS untuk menyimpan data dan MapReduce untuk membuat pertanyaan dan menganalisis data. Kerana secara langsung menggunakan Hadoop MapReduce untuk memproses data akan menghadapi masalah kos pembelajaran kakitangan yang tinggi, dan terlalu sukar untuk membangunkan logik pertanyaan yang kompleks menggunakan MapReduce. Dengan Hive, antara muka operasi menggunakan sintaks seperti SQL, yang bukan sahaja menyediakan keupayaan pembangunan pesat tetapi juga mengelakkan penulisan MapReduce, dengan itu mengurangkan kos pembelajaran pembangun dan menjadikan pengembangan fungsi lebih mudah.

Apakah masalah yang Hive selesaikan?

Hive menyelesaikan fungsi pertanyaan data besar, supaya orang yang tidak boleh menulis MR juga boleh menggunakan MR . Intipatinya adalah untuk menukar HQL kepada MR Lapisan bawahnya ialah MR Penulisan tidak cekap dan menyakitkan Kemunculan Hive telah membawa jalan pintas dan berita baik kepada saudara JAVAEE 🎜>

1. Antara muka pengguna: Klien

CLI (kulit sarang), JDBC/ODBC (sarang akses java), WEBUI (sarang akses penyemak imbas) Apakah perkhidmatan yang disediakan oleh komponen sarang?

2. Metadata: Metastore

Metadata termasuk: nama jadual, pangkalan data yang mempunyai jadual (lalai ialah lalai), pemilik jadual, medan lajur/partition, jenis jadual

(sama ada jadual luaran), lokasi data jadual Direktori, dsb.;

Metadata: Metastore

Metadata termasuk: nama jadual, pangkalan data yang mempunyai jadual (lalai ialah lalai), pemilik jadual, medan lajur/partition, jadual

Jenis

(sama ada jadual luaran), direktori di mana data jadual terletak, dsb.;

disimpan dalam pangkalan data derby terbina secara lalai MySQL untuk menyimpan Metastore.

3. Hadoop

menggunakan HDFS untuk penyimpanan dan MapReduce untuk pengiraan.

4. Pemacu: Pemacu

(1) Parser (SQL Parser): Tukar rentetan SQL kepada pokok sintaks abstrak AST Langkah ini biasanya diselesaikan menggunakan

perpustakaan alat pihak ketiga, seperti antlr; analisis sintaks pada AST, seperti sama ada jadual wujud, sama ada medan wujud dan sama ada semantik SQL adalah salah.

(2) Penyusun (Pelan Fizikal): Susun AST untuk menjana pelan pelaksanaan logik.

(3) Pengoptimum (Pengoptimum Pertanyaan): Optimumkan pelan pelaksanaan logik.

(4) Perlaksanaan: Tukar pelan perlaksanaan logik kepada pelan fizikal yang boleh dijalankan. Untuk Hive, ia adalah MR/Spark.

Hive dibina pada Hadoop dan semua data Hive disimpan dalam HDFS. Pangkalan data

Apakah perkhidmatan yang disediakan oleh komponen sarang? boleh menyimpan data dalam peranti blok atau sistem fail tempatan.

Memandangkan Hive direka untuk aplikasi gudang data, kandungan gudang data memerlukan lebih banyak bacaan daripada menulis. Oleh itu, tidak disyorkan untuk menulis semula data dalam Hive

Semua data ditentukan semasa memuatkan. Data dalam pangkalan data biasanya

perlu diubah suai dengan kerap, jadi anda boleh menggunakan INSERT INTO... NILAI untuk menambah data dan KEMASKINI... SET untuk mengubah suai data.

Perbandingan antara Hive dan pangkalan data

Oleh kerana Hive menggunakan bahasa pertanyaan seperti SQL HQL (Hive Query Language), mudah untuk memahami Hive sebagai pangkalan data. Malah, dari sudut pandangan struktur, selain daripada mempunyai bahasa pertanyaan yang serupa, Hive dan pangkalan data tidak mempunyai persamaan. Bahagian ini akan menerangkan perbezaan antara Hive dan pangkalan data dari banyak aspek. Pangkalan data boleh digunakan dalam aplikasi Dalam talian, tetapi Hive direka untuk gudang data. Mengetahui ini akan membantu anda memahami ciri-ciri Hive dari perspektif aplikasi. 1. Bahasa pertanyaan

Memandangkan SQL digunakan secara meluas dalam gudang data, bahasa pertanyaan seperti SQL direka khusus untuk ciri-ciri Hive. Pembangun yang biasa dengan pembangunan SQL boleh menggunakan Hive untuk pembangunan dengan mudah.

2. Lokasi storan data Hive dibina pada Hadoop dan semua data Hive disimpan dalam HDFS. Pangkalan data boleh menyimpan data dalam peranti blok atau sistem fail tempatan.


3. Kemas kini data: Memandangkan Hive direka untuk aplikasi gudang data, kandungan gudang data memerlukan lebih banyak bacaan dan kurang penulisan. Oleh itu, tidak disyorkan untuk menulis semula data dalam Hive Semua data ditentukan semasa memuatkan. Data dalam pangkalan data biasanya perlu diubah suai dengan kerap, jadi anda boleh menggunakan INSERT INTO... NILAI untuk menambah data dan KEMASKINI... SET untuk mengubah suai data.

4. Indeks: Hive tidak melakukan sebarang pemprosesan pada data semasa proses memuatkan data, malah mengimbas data, jadi beberapa kunci dalam data tidak diindeks. Apabila Hive ingin mengakses nilai tertentu dalam data yang memenuhi syarat, ia perlu mengimbas secara kasar keseluruhan data, jadi kependaman akses adalah tinggi. Disebabkan pengenalan MapReduce, Hive boleh mengakses data secara selari, jadi walaupun tanpa indeks, Hive masih boleh menunjukkan kelebihan untuk mengakses sejumlah besar data. Dalam pangkalan data, indeks biasanya dibuat pada satu atau beberapa lajur, jadi pangkalan data boleh mempunyai kecekapan tinggi dan kependaman rendah untuk mengakses sejumlah kecil data dengan syarat tertentu. Disebabkan kependaman akses data yang tinggi, Hive tidak sesuai untuk pertanyaan data dalam talian.

5. Pelaksanaan: Pelaksanaan kebanyakan pertanyaan dalam Hive dilaksanakan melalui MapReduce yang disediakan oleh Hadoop. Pangkalan data biasanya mempunyai enjin pelaksanaannya sendiri.

6. Kelewatan pelaksanaan: Apabila Hive menanyakan data, kerana tiada indeks, keseluruhan jadual perlu diimbas, jadi kelewatan adalah tinggi. Faktor lain yang menyumbang kepada kependaman pelaksanaan Hive yang tinggi ialah rangka kerja MapReduce. Memandangkan MapReduce sendiri mempunyai kependaman yang tinggi, terdapat juga kependaman yang tinggi apabila menggunakan MapReduce untuk melaksanakan pertanyaan Hive. Sebaliknya, kependaman pelaksanaan pangkalan data adalah rendah. Sudah tentu, rendah ini adalah bersyarat, iaitu, skala data adalah kecil Apabila skala data cukup besar untuk melebihi keupayaan pemprosesan pangkalan data, pengkomputeran selari Hive jelas boleh menunjukkan kelebihannya.

7. Skalabiliti: Memandangkan Hive dibina pada Hadoop, skalabiliti Hive adalah konsisten dengan skalabiliti Hadoop (kluster Hadoop terbesar di dunia adalah di Yahoo!, 2009 Skala tahunan adalah sekitar 4,000 nod) . Disebabkan oleh sekatan ketat semantik ACID, pangkalan data mempunyai baris pengembangan yang sangat terhad. Pada masa ini, Oracle, pangkalan data selari yang paling maju, mempunyai skalabiliti teori hanya kira-kira 100 unit.

8 Skala data: Memandangkan Hive dibina pada gugusan dan boleh menggunakan MapReduce untuk pengkomputeran selari, ia boleh menyokong data berskala besar, pangkalan data boleh menyokong skala data yang lebih kecil.

Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Pengajaran Pengaturcaraan! !

Atas ialah kandungan terperinci Apakah perkhidmatan yang disediakan oleh komponen sarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn