Bu makale esas olarak büyük veri analizi ve mimariyle ilgili işlerle uğraşan ve kovanla uğraşması gereken, ancak şu anda kovanı derinlemesine anlamayan küçük ortaklar içindir. Bu makale size kovanı hızlı bir şekilde anlamanızı sağlayacaktır.
İçerik esas olarak kovanın ne olduğunu, neden kovan olduğunu, kovan mimarisini, kovan veri organizasyonunu ve kovan kullanımının DDL operasyonunu içerir.
1. Kovan nedir?
1, Hadoop'a dayalı bir veri ambarı aracıdır;
2 Yapılandırılmış veriler bir veritabanı tablosuna eşlenebilir;
3 Ve HQL (Hive SQL) sorgu işlevi sağlar;
4 Temel alınan veriler HDFS'de saklanır;
5 Hive'ın özü, SQL deyimlerini MapReduce, Tez veya spark ve diğer yürütme görevlerine dönüştürmektir;
6 Çevrimdışı toplu veri hesaplaması için uygundur.
2. Neden kovana ihtiyacımız var?
Yukarıdaki 5. maddede bahsedildiği gibi, kovan, MapReduce, Tez, Spark vb. Gibi bu motorların işleme sürecini kapsayabilir, böylece kullanıcılar bu bilgi işlem motorlarının belirli yürütme ayrıntılarını bilmeden verileri işleyebilir. Kullanıcıların yalnızca öğrenmesi gerekir. Sql nasıl yazılır
Hive, doğrudan MapReduce, Tez, Spark vb. Kullanıldığında karşılaşılan iki ana sorunu çözebilir:
MapReduce, Tez ve Spark'ı doğrudan kullanmanın öğrenme maliyeti çok yüksektir, çünkü temeldeki belirli yürütme motorunun işlem mantığını anlaması gerekir ve belirli bir kodlama temeli gereklidir; Hive ise veri sorgulama ve işleme için doğrudan SQL benzeri bir dil kullanabilen bir platform veya arayüz sağlar , Kullanıcı sql diline aşina olduğu sürece;
MapReduce, Tez ve Spark için karmaşık sorgu mantığı geliştirmek zordur, çünkü tüm işleme mantığını uygulamak ve veri işleme sürecinin optimizasyonunu tamamlamak için kendi kodunuzu yazmanız gerekir ve kovan, birçok veri istatistiği mantığını doğrudan kullanılabilen pencere işlevlerine dahil eder ve Genişletme için özel pencere işlevlerini destekler ve kovan, yürütme mantığını otomatik olarak optimize eden mantıksal ve fiziksel optimize edicilere sahiptir.
3. kovan mimarisi
Hadoop'un bir veri ambarı aracı olan hive'ın mimarisi şu şekilde tasarlanmıştır:
Hive'ın iç mimarisinin dört bölüme ayrıldığı görülmektedir:
1 Kullanıcı arayüzü katmanı (cli, JDBC / ODBC, Web UI)
(1) cli (Komut Satırı Arayüzü), kabuk terminal komut satırı, komut satırı üzerinden kovan ile etkileşim;
(2) JDBC / ODBC, JDBC işlemlerine dayalı olarak Hive tarafından sağlanan bir istemcidir.Kullanıcılar (geliştiriciler, işletim ve bakım personeli), istemci aracılığıyla Hive sunucu hizmetine bağlanır;
(3) Web kullanıcı arayüzü, kovana bir tarayıcı aracılığıyla erişim.
2 Meta veri depolama sistemi
(1) Meta veriler, sıradan terimlerle, Hive'da depolanan verilerin açıklama bilgisidir;
(2) Hive'daki meta veriler genellikle şunları içerir: tablonun adı, tablonun sütunları ve bölümleri ve öznitelikleri, tablonun öznitelikleri (dahili ve harici) ve tablodaki verilerin bulunduğu dizin;
(3) Metastore varsayılan olarak yerleşik Derby veritabanı veya oluşturduğumuz MySQL kitaplığıdır;
(4) Hive ve MySQL veya Derby, MetaStore hizmeti aracılığıyla etkileşim kurar.
3 Thrift Sunucusu-Çapraz Dil Hizmeti
Hive, Thrift Sunucusunu entegre ederek kullanıcıların birçok farklı dilde kovanı çalıştırmasına olanak tanır.
Sürücü, HQL sorgu ifadelerinin sözcük analizi, sözdizimi analizi, derlemesi, optimizasyonu ve sorgu planı oluşturmayı tamamlar. Oluşturulan sorgu planı HDFS'de depolanır ve MapReduce tarafından çalıştırılır ve çalıştırılır.
Tüm sürecin uygulama adımları aşağıdaki gibidir:
(1) Yorumlayıcı sözcüksel, dilbilgisel ve anlamsal analizi ve ara kod üretimini tamamlar ve sonunda bunu soyut bir sözdizimi ağacına dönüştürür;
(2) Derleyici sözdizimi ağacını mantıksal bir yürütme planına derler;
(3) Mantık katmanı optimize edici, mantık yürütme planını optimize eder. MapReduce görevi sonunda Hive tarafından oluşturulduğundan, Harita aşaması ve Azaltma aşaması OperatorTree'den oluşur, bu nedenle mantık katmanı optimize edicilerinin çoğu OperatorTree'yi dönüştürür ve operatörleri birleştirerek MapReduce Job'u azaltmanın ve karıştırma verilerinin miktarını azaltmanın amacı;
(4) Fiziksel katman iyileştirici, MapReduce görev dönüşümünü gerçekleştirir ve son fiziksel yürütme planını oluşturur;
(5) Uygulayıcı, nihai fiziksel yürütme planını yürütmek için temel yürütme çerçevesini çağırır.
4. Kovan veri organizasyonu
Yukarıdaki kovanın iç yapısının tanıtımı ve analizi yoluyla, herkesin bir sorgu ifadesinin altında yatan yürütme sürecinin tamamı hakkında küçük bir fikri olduğuna inanıyorum; daha sonra kovanın başka bir önemli bilgi noktasını, yani kullanılan sorgu ifadesini anlayacağız. Kütüphane tablo kovanı veri organizasyonunun ilgili yönleri hakkında bilgi.
Kovan veri organizasyonu:
1 Hive'ın depolama yapısı şunları içerir: Veritabanı, tablo, görünüm, bölüm ve tablo verileri Bekle. Veritabanları, tablolar, bölümler vb. Tümü HDFS üzerindeki bir dizine karşılık gelir. Tablo verileri, ilgili HDFS dizinlerindeki dosyalara karşılık gelir.
2 Hive aşağıdaki veri modellerini içerir:
veri tabanı : HDFS'de, $ {hive.metastore.warehouse.dir} veya belirtilen dizinin altındaki bir klasör olarak temsil edilir;
masa : HDFS'de belirli bir veritabanı dizini altında bir klasör olarak görünür;
dış tablo : Tabloya benzer şekilde, HDFS'de belirli bir veritabanı dizini altında bir klasör olarak da görünür;
bölüm : HDFS'de tablo dizini altında bir alt dizin olarak temsil edilir;
Kova : HDFS'de, aynı tablo dizini veya bölüm dizinindeki belirli bir alanın değerine göre karma oluşturma işleminden sonra birden çok dosya olarak görünür;
görünüm : Geleneksel veritabanlarına benzer şekilde, salt okunur, temel tablolara göre oluşturulmuştur.
3 Hive'daki tablolar dahili tablolara, harici tablolara, bölüm tablolarına ve grup tablolarına bölünmüştür.
İç ve dış tablolar arasındaki fark:
1. Dahili tablo verileri Hive tarafından yönetilir ve harici tablo verileri HDFS tarafından yönetilir;
2. Dahili tabloların silinmesi meta verileri ve depolama verilerini doğrudan silecektir; harici tabloları silmek yalnızca meta verileri silecek ve HDFS'deki dosyalar silinmeyecektir.
Bölüm tablosu ile kova tablosu arasındaki fark:
1. Bölüm tablosu, Kovan veri tablosu belirli alanlara göre bölümlenebilir, veri yönetimini iyileştirebilir ve bazı sorguları daha hızlı yapabilir;
2. Kova tablosu: Tablolar ve bölümler ayrıca bölümlere ayrılabilir. Kova tablosundaki veriler, bazı kova alanlarının karma hale getirilmesiyle oluşturulan bir dizi dosyadır.
5. Kovanı kullanarak DDL işlemi
Kovanın DDL (Veri Tanımlama Dili) işlemleriyle ilgili olarak, aşağıdakiler iki kısma ayrılır: kitaplık ve tablo:
Kütüphane
(1) Bir kitaplık oluşturun
(2) Kitaplığı görüntüleyin
(3) Kitaplığı sil
(4) Kitaplığı değiştir
masa
1 Tablo oluştur
(1) Varsayılan bir dahili tablo oluşturun
(2) Harici bir tablo oluşturun
(3) Bir bölüm tablosu oluşturun
Bölüm ekle
(4) Bir kova tablosu oluşturun
(5) Tablo oluşturmak için CTAS kullanın
SQL sorgusunun sonucundan depolama için bir tablo oluşturun;
(6) Tablo yapısını kopyala
2 Tabloyu görüntüle
(1) Tablo listesini görüntüleyin
(2) Tablonun ayrıntılı bilgilerini görüntüleyin
(3) Tabloyu değiştirin
(4) Tabloyu sil
(5) Masayı boşaltın
Sonuç:
Bu makale temel olarak kovanın ne olduğunu, kovanın kullanım nedenlerini, kovanın mimarisini, kovanın veri düzenini ve kovanın DDL işleyişini herkese tanıtıyor.Bu makaleyi okuyan arkadaşların kovanı hızlı bir şekilde anlamalarını umuyorum.
Büyük veri geliştirme ve yüksek maaşlar için eksiksiz bir gerekli kaynak seti [ücretsiz erişim]
Oracle'ın kıdemli teknik direktörü, büyük verilerin geliştirilmesine tam olarak yardımcı olmak için uzun yıllar boyunca eksiksiz bir müfredat sistemi [büyük veri ve yapay zeka geliştirme için görülmesi gereken bir] oluşturdu Sıfır temel + giriş + iyileştirme + proje = yüksek maaş !
Söylenecek son şey, yukarıdaki öğreticinin nasıl alınacağıdır!
Nasıl alınır:
Binlerce yıldır değişmeyen hala eski kurallar
1. Yorum yazıları, kelime sınırı yoktur, tek kelime yeterlidir!
2. Xiaobian hayranı olun!
3. Özel Mesaj Editörü: "Büyük Veri Geliştirme Eğitimi"!