Örnekle Kovan Bölmeleri ve Kovalar

Tablolar, Bölümler ve Kovalar Hive veri modellemenin parçalarıdır.

Bölümler Nedir?

Hive Partitions, tabloları bölüm anahtarlarına göre farklı parçalara bölerek tabloları bölümler halinde düzenlemenin bir yoludur.

Tabloda bir veya daha fazla Bölüm anahtarı bulunduğunda bölüm yararlı olur. Bölüm anahtarları, verilerin tabloda nasıl saklanacağını belirleyen temel öğelerdir.

Örnek: -

“Müşteri, her eyalet (38 eyalet) operasyonunun bir bütün olarak bahsedildiği Hindistan operasyonlarına ait bazı E-ticaret verilerine sahip. Durum sütununu bölüm anahtarı olarak alırsak ve bu Hindistan verileri üzerinde bir bütün olarak bölümleme yaparsak, Hindistan'da mevcut olan durum sayısına (38) eşit olan bölüm sayısını (38 bölüm) elde edebiliriz. Öyle ki, bölüm tablolarında her durum verisi ayrı ayrı görüntülenebilmektedir.

Bölümler için Örnek Kod Parçacığı

  1. Tablonun oluşturulması tüm durumlar
create table all states(state string, District string,Enrolments string)

row format delimited

fields terminated by ',';
  1. Oluşturulan tabloya tüm durumlar veri yükleniyor
Load data local inpath '/home/hduser/Desktop/AllStates.csv' into table allstates;
  1. Bölüm tablosunun oluşturulması
create table state_part(District string,Enrolments string) PARTITIONED BY(state string);
  1. Bölümleme için bu özelliği ayarlamamız gerekiyor
    set hive.exec.dynamic.partition.mode=nonstrict
  2. Verileri bölüm tablosuna yükleme
INSERT OVERWRITE TABLE state_part PARTITION(state)
SELECT district,enrolments,state from  allstates;
  1. Bölüm anahtarı olarak duruma dayalı bölüm tablolarının fiili işlenmesi ve oluşturulması
  2. HDFS depolamada dosya adı durum adı olan 38 bölüm çıkışı olacaktır. Bu adımda bunu kontrol edeceğiz

Aşağıdaki ekran görüntüleri yukarıda belirtilen kodun yürütülmesini gösterecektir

Kovan Bölümleri

Kovan Bölümleri

Kovan Bölümleri

Kovan Bölümleri

Yukarıdaki koddan aşağıdaki şeyleri yapıyoruz

  1. Eyalet, ilçe ve kayıt gibi 3 sütunlu tüm eyaletlerin tablosunun oluşturulması
  2. Tüm durumlar tablosuna veri yükleniyor
  3. Bölüm anahtarı olarak durum içeren bölüm tablosunun oluşturulması
  4. Bu adımda Bölümleme modunu katı olmayan olarak ayarlama (Bu mod, dinamik bölümleme modunu etkinleştirecektir)
  5. Veriler tablestate_part bölümüne yükleniyor
  6. Bölüm anahtarı olarak duruma dayalı bölüm tablolarının fiili işlenmesi ve oluşturulması
  7. HDFS depolamada dosya adı durum adı olan 38 bölüm çıkışı olacaktır. Bu adımda bunu kontrol edeceğiz. Bu adımda HDFS'de 38 bölüm çıkışını görüyoruz.

Kovalar Nedir?

Hive'daki kovalar, kovan tablo verilerinin birden fazla dosyaya veya dizine ayrılmasında kullanılır. Etkili sorgulama için kullanılır.

  • Yani bu bölümlerde bulunan veriler Kovalara bölünebilir
  • Bölme, tabloda seçtiğimiz belirli sütunların Hash'ine göre gerçekleştirilir.
  • Kovalar, her kaydı okumak ve kovalara yerleştirmek için arka uçta bir tür Hashing algoritması kullanır
  • Hive'da, kovaları kullanarak etkinleştirmemiz gerekir. set.hive.enforce.bucketing=true;

) 1 Adım Aşağıda gösterildiği gibi Kova oluşturma.

Kovan Kovaları

Yukarıdaki ekran görüntüsünden

  • First_name, job_id, departman, maaş ve ülke gibi sütun adlarıyla sample_bucket oluşturuyoruz
  • Burada 4 kova oluşturuyoruz.
  • Veriler otomatik olarak yüklendikten sonra verileri 4 gruba yerleştirin

) 2 Adım Verileri tablo örnek paketine yükleme

Hive sisteminde zaten “Çalışanlar tablosunun” oluşturulduğunu varsayalım. Bu adımda, çalışanlar tablosundaki Verilerin tablo örnek kovasına yüklenmesini göreceğiz.

Çalışan verilerini paketlere taşımaya başlamadan önce bunların ad_adı, iş_kimliği, departman, maaş ve ülke gibi sütun adlarından oluştuğundan emin olun.

Burada çalışanlar tablosundan örnek kovaya veri yüklüyoruz.

Kovan Kovaları

) 3 Adım4. Adımda oluşturulan 1 paket görüntüleniyor

Kovan Kovaları

Yukarıdaki ekran görüntüsünde çalışanlar tablosundaki verilerin 4. adımda oluşturulan 1 klasöre aktarıldığını görebiliriz.

Günlük Guru99 Bülteni

Gününüze, şu anda elinize ulaşan en son ve en önemli yapay zeka haberleriyle başlayın.