Hive Bölüm 15: Hive Shell (CLI)

Apache Hive

Hive’a genelde Hue ile bağlanıp, editör üzerinden işlerimizi yapabiliyoruz, en yaygın kullanılan yapı da budur. Fakat bazen bir şeyleri programatik yapmak istiyorsak, yani bir cron job kurup belirli aralıklarla bir işi gerçekleştirmesini istiyorsak bunu Hue üzerinden yapamıyoruz. Bu tür durumlarda Hive Shell ortamını kullanmak avantajlı oluyor.

Temelde Hive Shell’e bağlanmak çok basittir:

Bağlandığınızda:

hive>

Çıktısını görürsünüz. Eğer kerberized bir sisteme sahipseniz, tabii böyle bağlanamazsınız, öncelikle bir keytab dosyası kullanmalı veya yetkili kullanıcı ile oturum açmalısınız.

Linux ortamında Hive üzerinde yetkisi olan bir kullanıcıya geçiş yapmak için:

Keytab dosyası kullanarak kerberos ticket oluşturmak için:

Keytab içinde geçen hesaba göre bilgileri girmek gerekiyor. Bu ayrı bir konu olduğu için buraya eklemiyorum. Artık bağlanmaya hazırsınız.

Hive Shell’den çıkmak için:

Eğer yapılacak bir işi otomotize etmek istiyorsak bu kısımda .sh uzantıılı bir shell script veya Python ile kodlama yapmak gerekiyor. Bu durumda da Hive Shell’i parametrik olarak kullanmamız gerekiyor. İki parametre kullanabiliyoruz:

-e: Sorguyu direk Hive Shell’e iletip, çıktısını döndürür.

-f: Sorgunun bir file’dan okunarak işlenir ve çıktısını döndürür.

Şimdi -e parametresini kullanalım:

Bizim için SHOW DATABASES sorgusunu çalıştıracak ve çıktıyı output isimli bir dosyaya yazacak. Aslında birden fazla sorguyu da gönderebiliriz:

-f parametresi ile:

Bu şekilde .hql uzantılı sorguyu çalıştıracak ve çıktıyı output isimli bir dosyaya yazacak. Bu arada uzantının hql olması gerekmiyor, herhangi bir dosya olabilir, sadece ilgili dosyanın bir Hive Query Language dosyası olduğunu belirtmek için kullanırız.

Hive Shell çalışıyor ve üzerinde kompleks bir sorgu yürütmeniz gerekiyorsa sorguyu bir dosyadan alabilirsiniz:

Source ifadesi ile bir dosyadan çalıştırılacak sorguyu çalıştırmak istediğinizi söylemiş oluyorsunuz. Böylece sorgu işletir ve sonucu size döndürülür.

Elbette Hive Shell kullanımı bunlarla kısıtlı değil, daha fazla detay için: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Cli

Data Science Earth

Data Science Earth ekibi, üst düzey Veri Bilim çözümleri üretmek amacı ile toplanmış akademisyenler ve uzmanlardan oluşmaktadır. Öncelikli olarak veri bilincini geliştirmeyi ve küreselleşen rekabet ortamında verinin gücünün doğru kullanılmasını sağlamayı amaçlamaktadır.

Sponsor

QuestionPro 35 farklı soru seçim özelliği ile anket çalışmalarımıza güç katmaktadır.