MYSQL ile HIVE Metastore Yapılandırması

Anonim

MySQL Neden Metastore Olarak Hive'da Kullanılmalı:

  • Varsayılan olarak Hive, metastore olarak derbi veritabanı ile birlikte gelir.
  • Derby veritabanı aynı anda yalnızca tek bir aktif kullanıcıyı destekleyebilir
  • Üretim ortamında Derby tavsiye edilmez

Yani buradaki çözüm şudur:

  • Bir seferde Hive ile birden fazla kullanıcıyı bağlamak için arka uçta Meta depolama olarak MYSQL kullanın
  • MYSQL, bağımsız meta depo için en iyi seçimdir

Hadoop'ta Hive'da MySQL veritabanını kurma ve yapılandırma adımları

Adım 1) Bu adımda iki görevi yerine getireceğiz

  1. Mysql-server kurulumu
  2. Mysql sunucusunu ve sürecini kontrol etme
  1. Kullanılması -get apt mysql-server komutunu yüklemek, biz MySQL sunucusunu indirebilirsiniz Sudo

MySQL'i ekran görüntüsünde gösterildiği gibi yükleyin

  1. Sonunda başarılı bir kurulumun ardından, MySQL aşağıdaki ekran resminde gösterildiği gibi çalışacaktır.

Adım 2) MySQL Java Bağlayıcısını Kurmak. Bu, java bağımlılıkları ve bağlantı amacı içindir

Adım 3) Hive lib dizininde bağlayıcı için yazılım bağlantısı oluşturma . Bu, Java ve MySql arasındaki yumuşak bağlantı içindir.

Adım 4) Hive'da MySql depolamayı yapılandırma

  • MySql -u root -p ve ardından şifre yazın
  • Burada -u kök kullanıcı adını, p şifreyi gösterir
  • Yukarıdaki komutu girdikten sonra, kullanıcının geçerli şifreyi girmesi ve ardından enter tuşuna basması gerekir.
  • Ardından MySql kabuk moduna girecek

Adım 5) MySql için kullanıcı adı ve şifre oluşturma, ayrıcalıklar verme.

Komutları aşağıda gösterildiği gibi yürütmeliyiz,

mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword';mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';mysql> flush privileges;

Adım 6) hive-site.xml'yi yapılandırma

  • Adım 5'ten sonra MySQL veritabanına kullanıcı adı ve şifre atayın ve verilen ayrıcalıklar.
  • Burada, MySQL veritabanıyla bağlantı kurmak için Hive'daki bazı özellikleri yapılandıracağız .

Yukarıdaki ekran görüntüsünden aşağıdakileri gözlemliyoruz. Burada, MYSQL'i Hive'da Meta deposu olarak kurmak için gerekli olabilecek 4 özelliği tanımlıyoruz.

Bunlar aşağıdaki gibidir:

  1. Bu özellik, bağlantı URL amacı içindir. Burada, bu özellikte ConnectionURL'yi tanımlıyoruz. JDBC bağlantısı ve aynı zamanda metastore konumunu temsil eder
  2. Bu özellik, Bağlantı sürücüsü adı içindir. Burada mysql.jdbc.Driver, değer etiketinde belirtmemiz gereken saygı duyulan değerdir.
  3. Bu özellik, Bağlantı Kullanıcı adını tanımlamak için kullanılır. Bunda "hiveguru" yu kullanıcı adı olarak tanımladık
  4. Bu özellik, Bağlantı Şifresinden bahsetmek için kullanılır. Burada şifreyi kullanıcı şifresi olarak tanımladık.

Özellikler hive -site.xml'ye yerleştirildikten sonra manuel olarak kaydetmeli (Ctrl + S) ve dosyayı kapatmalıyız. Bu dosyayı kapattıktan sonra Hive tablosu oluşturmalı ve MySQL depolamadaki tablo detaylarını kontrol etmeliyiz.

Bu kodu hive-site.xml içine yerleştirin

hive-site.xml


javax.jdo.option.ConnectionURLjdbc:mysql://localhost/metastore?createDatabaseIfNotExist=truemetadata is stored in a MySQL server
javax.jdo.option.ConnectionDriverNamecom.mysql.jdbc.DriverMySQL JDBC driver class
javax.jdo.option.ConnectionUserNamehiveuseruser name for connecting to mysql server
javax.jdo.option.ConnectionPasswordhivepasswordpassword for connecting to mysql server

Adım7 ) Hive'da "guru99" tablosu oluşturun.

Yukarıdaki ekran görüntüsünden aşağıdakileri gözlemleyebiliriz

  • İki sütun adıyla "guru99" tablo adının oluşturulması
  • Biri tamsayı ve diğeri dize türünde veri türü ile belirtilen sütun adları

Bir sonraki adımda MySql'de saklanıp saklanmadığını kontrol edeceğiz.

Adım 8) MySql kabuk moduna girme

Yukarıdaki ekran görüntüsünden aşağıdakileri gözlemleyebiliriz

  • Öncelikle veritabanını "metastore kullan" olarak kullanmalıyız.
  • Meta depoyu seçtikten sonra, ekran görüntüsünde gösterildiği gibi "tabloları göster" komutunu kullanarak burada bulunan tabloları kontrol edebiliriz.
  • Hive'da oluşturulan tablolar ne olursa olsun, meta veriler MySQL veritabanında TBLS altında depolanan tablolara karşılık gelir.
  • Hive'da "Guur99 tablosu" oluşturulur, böylece ilgili meta veriler TBLS altında MySQL'de saklanır.

Adım 9) Oluşturulan tablonun MySQL gösterip göstermediğini kontrol etme

TBLS'den select * girerek, Hive kabuk modunda oluşturduğumuz tabloları görüntüleyecektir.

Yukarıdaki ekran görüntüsünden şu şeyleri gözlemleyebiliriz:

  • Oluşturulan "guru99" tablo adı, MySQL kabuk modunda görüntülenebilir
  • Bunun yanı sıra, yukarıdaki ekran görüntüsünde gösterildiği gibi tablo oluşturma zamanı, erişilen zaman ve diğer özellikler gibi bilgileri de sağlayacaktır.