Hive Tablo Oluşturma: Dahili Tablo, Değiştirme, Örneklerle Bırakma
tablo Operagibi şeyler Yaratma, Değiştirme ve Bırakma Hive'daki tablolar bu eğitimde gözlemlenebilir.
Aşağıdaki ekran görüntüsünde sütunlu bir tablo oluşturup tablo adını değiştiriyoruz.
1. “empid” ve “empname” gibi iki sütun adı ile guru_sample tablosu oluşturmak
2. guru99 veritabanındaki tabloların görüntülenmesi
3. Tabloların altında görüntülenen Guru_sample
4. “guru_sample” tablosunu “guru_sampleNew” olarak değiştirmek
5. Yine “show” komutunu çalıştırdığınızda, yeni adı Guru_sampleNew olarak görüntülenecektir.
Dropping table guru_sampleNew:
Tablo Çeşitleri ve Kullanımı
Geliyor tablolar tıpkı geleneksel İlişkisel Veritabanlarında yaratma şeklimiz gibidir. Tablolar üzerinde filtreleme, birleştirme gibi işlevler gerçekleştirilebilmektedir.
kovan gibi iki tür tablo yapısıyla ilgilenir İç ve Dış Hive'daki şemanın yüklenmesine ve tasarımına bağlı tablolar.
Dahili tablolar
- İç Tablo doğası gereği sıkı bir şekilde bağlanmıştır. Bu tablo türünde öncelikle tabloyu oluşturup veriyi yüklememiz gerekiyor.
- Bunu şu şekilde adlandırabiliriz şemadaki veriler.
- Bu tablonun bırakılmasıyla hem veriler hem de şema kaldırılacaktır.
- Bu tablonun saklandığı konum /user/Hive/warehouse olacaktır.
İç Masa Ne Zaman Seçilmeli?
- İşleme verileri yerel dosya sisteminde mevcutsa
- Hive'ın, silme işlemi de dahil olmak üzere veri yaşam döngüsünün tamamını yönetmesini istiyorsak
Dahili Tablo için örnek kod Parçacığı
1. Dahili tabloyu oluşturmak için
Hive>CREATE TABLE guruhive_internaltable (id INT,Name STRING); Row format delimited Fields terminated by '\t';
2. Verileri dahili tabloya yükleyin
Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO table guruhive_internaltable;
3. Tablonun içeriğini görüntüleyin
Hive>select * from guruhive_internaltable;
4. Dahili tabloyu bırakmak için
Hive>DROP TABLE guruhive_internaltable;
guruhive_internaltable'ı bırakırsanız, meta verileri ve verileri de dahil olmak üzere Hive'dan silinir.
Aşağıdaki ekran görüntüsünden çıktıyı gözlemleyebiliriz
Yukarıdaki kodda ve ekran görüntüsünde şu işlemleri yapıyoruz:
- Dahili tabloyu oluşturun
- Verileri dahili tabloya yükleyin
- Tablonun içeriğini görüntüle
- Dahili tabloyu bırakmak için
Harici tablolar
- Dış Tablo doğası gereği gevşek bir şekilde bağlanmıştır. Veriler HDFS'de mevcut olacaktır. Tablo HDFS verileri üzerinde oluşturulacaktır.
- Başka bir deyişle, yaratılması gibi diyebiliriz. veri şeması.
- Tabloyu bırakırken yalnızca şema düşer, veriler daha önce olduğu gibi HDFS'de mevcut olmaya devam eder.
- Harici tablolar, şema her güncellendiğinde verileri silmek yerine, HDFS'de depolanan veriler için birden fazla şema oluşturma seçeneği sunar
Dış Masa Ne Zaman Seçilmeli?
- HDFS'de veri işleniyorsa
- Dosyalar Hive dışında kullanıldığında kullanışlıdır
Harici Tablo için örnek kod Parçacığı
1. Harici tablo oluşturun
Hive>CREATE EXTERNAL TABLE guruhive_external(id INT,Name STRING) Row format delimited Fields terminated by '\t' LOCATION '/user/guru99hive/guruhive_external;
2. Tabloyu oluştururken konumu belirtmiyorsak verileri manuel olarak yükleyebiliriz.
Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO TABLE guruhive_external;
3. Tablonun içeriğini görüntüleyin
Hive>select * from guruhive_external;
4. Dahili tabloyu bırakmak için
Hive>DROP TABLE guruhive_external;
Aşağıdaki ekran görüntüsünden çıktıyı gözlemleyebiliriz
Yukarıdaki kodda, aşağıdaki şeyleri yapıyoruz
- Harici tabloyu oluşturun
- Verileri Harici tabloya yükleyin
- Tablonun içeriğini görüntüle
- Harici tablonun bırakılması
Dahili ve Harici tablolar arasındaki fark
Özellikler | İç | dış |
---|---|---|
Şema | Şemadaki Veriler | Veri Şeması |
Depolama yeri | /usr/kovan/depo | HDFS konumu |
Veri kullanılabilirliği | Yerel dosya sistemi içinde | HDFS'de |