Sqoop - Đánh giá
Chương này mô tả cách sử dụng công cụ Sqoop 'eval'. Nó cho phép người dùng thực thi các truy vấn do người dùng xác định dựa trên các máy chủ cơ sở dữ liệu tương ứng và xem trước kết quả trong bảng điều khiển. Vì vậy, người dùng có thể mong đợi dữ liệu bảng kết quả được nhập. Sử dụng eval, chúng ta có thể đánh giá bất kỳ loại truy vấn SQL nào có thể là câu lệnh DDL hoặc DML.
Cú pháp
Cú pháp sau được sử dụng cho lệnh eval của Sqoop.
$ sqoop eval (generic-args) (eval-args)
$ sqoop-eval (generic-args) (eval-args)
Chọn Đánh giá Truy vấn
Sử dụng công cụ eval, chúng ta có thể đánh giá bất kỳ loại truy vấn SQL nào. Hãy để chúng tôi lấy một ví dụ về việc chọn các hàng giới hạn trongemployee bảng của dbcơ sở dữ liệu. Lệnh sau được sử dụng để đánh giá ví dụ đã cho bằng cách sử dụng truy vấn SQL.
$ sqoop eval \
--connect jdbc:mysql://localhost/db \
--username root \
--query “SELECT * FROM employee LIMIT 3”
Nếu lệnh thực thi thành công, thì nó sẽ tạo ra kết quả sau trên thiết bị đầu cuối.
+------+--------------+-------------+-------------------+--------+
| Id | Name | Designation | Salary | Dept |
+------+--------------+-------------+-------------------+--------+
| 1201 | gopal | manager | 50000 | TP |
| 1202 | manisha | preader | 50000 | TP |
| 1203 | khalil | php dev | 30000 | AC |
+------+--------------+-------------+-------------------+--------+
Chèn đánh giá truy vấn
Công cụ eval của Sqoop có thể áp dụng cho cả mô hình hóa và định nghĩa các câu lệnh SQL. Điều đó có nghĩa là, chúng ta cũng có thể sử dụng eval cho các câu lệnh chèn. Lệnh sau được sử dụng để chèn một hàng mới trongemployee bảng của db cơ sở dữ liệu.
$ sqoop eval \
--connect jdbc:mysql://localhost/db \
--username root \
-e “INSERT INTO employee VALUES(1207,‘Raju’,‘UI dev’,15000,‘TP’)”
Nếu lệnh thực thi thành công, thì nó sẽ hiển thị trạng thái của các hàng được cập nhật trên bảng điều khiển.
Hoặc nếu không, bạn có thể xác minh bảng nhân viên trên bảng điều khiển MySQL. Lệnh sau được sử dụng để xác minh các hàng củaemployee bảng của db cơ sở dữ liệu sử dụng truy vấn select '.
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 |
+------+--------------+-------------+-------------------+--------+