Rumah >masalah biasa >Apakah perkhidmatan yang disediakan oleh komponen sarang?
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; .
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.
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
1 > 2. Data boleh disimpan menggunakan HDFS
3. Data boleh dikira menggunakan MapReduce
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 dilaksanakanb Kelemahan Hive
(1)hive's. Keupayaan ekspresi HQL Terhad
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.
CLI (kulit sarang), JDBC/ODBC (sarang akses java), WEBUI (sarang akses penyemak imbas)
2. Metadata: MetastoreMetadata 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 databoleh 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
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!