Sqoop - Değerlendir

Bu bölümde Sqoop 'eval' aracının nasıl kullanılacağı açıklanmaktadır. Kullanıcıların ilgili veritabanı sunucularına karşı kullanıcı tanımlı sorguları yürütmesine ve sonucu konsolda önizlemesine olanak tanır. Böylece, kullanıcı sonuçtaki tablo verilerinin içe aktarılmasını bekleyebilir. Eval kullanarak, DDL veya DML ifadesi olabilecek her tür SQL sorgusunu değerlendirebiliriz.

Sözdizimi

Sqoop eval komutu için aşağıdaki sözdizimi kullanılır.

$ sqoop eval (generic-args) (eval-args) 
$ sqoop-eval (generic-args) (eval-args)

Sorgu Değerlendirmesini Seçin

Eval aracını kullanarak her tür SQL sorgusunu değerlendirebiliriz. Sınırlı satırları seçmeye bir örnek verelim.employee masası dbveri tabanı. Aşağıdaki komut, verilen örneği SQL sorgusu kullanarak değerlendirmek için kullanılır.

$ sqoop eval \
--connect jdbc:mysql://localhost/db \
--username root \ 
--query “SELECT * FROM employee LIMIT 3”

Komut başarıyla yürütülürse, terminalde aşağıdaki çıktıyı üretecektir.

+------+--------------+-------------+-------------------+--------+
| Id   | Name         | Designation | Salary            | Dept   |
+------+--------------+-------------+-------------------+--------+
| 1201 | gopal        | manager     | 50000             | TP     |
| 1202 | manisha      | preader     | 50000             | TP     |
| 1203 | khalil       | php dev     | 30000             | AC     |
+------+--------------+-------------+-------------------+--------+

Sorgu Değerlendirmesi Ekle

Sqoop eval aracı, SQL ifadelerinin hem modellenmesi hem de tanımlanması için uygulanabilir. Yani, insert ifadeleri için de eval kullanabiliriz. Aşağıdaki komut, yeni bir satır eklemek için kullanılır.employee masası db veri tabanı.

$ sqoop eval \
--connect jdbc:mysql://localhost/db \
--username root \ 
-e “INSERT INTO employee VALUES(1207,‘Raju’,‘UI dev’,15000,‘TP’)”

Komut başarıyla yürütülürse, konsolda güncellenmiş satırların durumunu gösterecektir.

Ya da MySQL konsolunda çalışan tablosunu doğrulayabilirsiniz. Aşağıdaki komut, satırlarını doğrulamak için kullanılır.employee masası db veritabanı select 'sorgusunu kullanarak.

mysql>
mysql> use db;
mysql> SELECT * FROM employee;
+------+--------------+-------------+-------------------+--------+
| Id   | Name         | Designation | Salary            | Dept   |
+------+--------------+-------------+-------------------+--------+
| 1201 | gopal        | manager     | 50000             | TP     |
| 1202 | manisha      | preader     | 50000             | TP     |
| 1203 | khalil       | php dev     | 30000             | AC     |
| 1204 | prasanth     | php dev     | 30000             | AC     |
| 1205 | kranthi      | admin       | 20000             | TP     |
| 1206 | satish p     | grp des     | 20000             | GR     |
| 1207 | Raju         | UI dev      | 15000             | TP     |
+------+--------------+-------------+-------------------+--------+