Sqoop-eval
提供:Dev Guides
Sqoop-評価
この章では、Sqoopの「評価」ツールの使用方法について説明します。 ユーザーは、各データベースサーバーに対してユーザー定義のクエリを実行し、コンソールで結果をプレビューできます。 したがって、ユーザーは結果の表データがインポートされることを期待できます。 evalを使用して、DDLまたはDMLステートメントのいずれかである可能性がある任意のタイプのSQLクエリを評価できます。
構文
次の構文は、Sqoop evalコマンドに使用されます。
$ sqoop eval (generic-args) (eval-args)
$ sqoop-eval (generic-args) (eval-args)
クエリ評価を選択
evalツールを使用して、あらゆるタイプのSQLクエリを評価できます。 db データベースの employee テーブルで制限された行を選択する例を見てみましょう。 次のコマンドは、SQLクエリを使用して特定の例を評価するために使用されます。
$ sqoop eval \
--connect jdbc:mysql://localhost/db \
--username root \
--query “SELECT * FROM employee LIMIT 3”
コマンドが正常に実行されると、端末に次の出力が生成されます。
+------+--------------+-------------+-------------------+--------+
| Id | Name | Designation | Salary | Dept |
+------+--------------+-------------+-------------------+--------+
| 1201 | gopal | manager | 50000 | TP |
| 1202 | manisha | preader | 50000 | TP |
| 1203 | khalil | php dev | 30000 | AC |
+------+--------------+-------------+-------------------+--------+
クエリ評価の挿入
Sqoop evalツールは、SQLステートメントのモデリングと定義の両方に適用できます。 つまり、挿入ステートメントにもevalを使用できます。 次のコマンドを使用して、 db データベースの employee テーブルに新しい行を挿入します。
$ sqoop eval \
--connect jdbc:mysql://localhost/db \
--username root \
-e “INSERT INTO employee VALUES(1207,‘Raju’,‘UI dev’,15000,‘TP’)”
コマンドが正常に実行されると、更新された行のステータスがコンソールに表示されます。
または、MySQLコンソールで従業員テーブルを確認できます。 次のコマンドは、selectクエリを使用して、 db データベースの employee テーブルの行を確認するために使用されます。
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 |
+------+--------------+-------------+-------------------+--------+