Video: IBM Data Retrieval Technologies RDBMS, BLU, IBM Netezza and Hadoop 2015 07 21 2025
Với chế độ chèn, các bản ghi được xuất bởi Sqoop được nối vào cuối bảng mục tiêu. Sqoop cũng cung cấp một chế độ cập nhật mà bạn có thể sử dụng bằng cách cung cấp đối số dòng lệnh -update-key. Tác vụ này gây ra Sqoop để tạo ra câu lệnh SQL UPDATE để chạy trên RDBMS hoặc kho dữ liệu.
Giả sử bạn muốn cập nhật bảng ba cột với dữ liệu được lưu trữ trong tệp HDFS / user / my-hdfs-file. Tệp chứa dữ liệu này:
$ sqoop export (Generic Arguments) --table target-relational -cập nhật -dòng_dòng-cột -dùng -dùng -dòng -dãy -dãy -dùng -doc / user-my-hdfs-tệp … Tạo => UPDATE mục tiêu-quan hệ-bảng SET cột2 = 1000, cột3 = 2000 WHERE column1 = 100;Với lệnh xuất khẩu trước, nếu bảng mục tiêu-quan hệ trên RDBMS hoặc hệ thống kho dữ liệu của bạn không có bản ghi với giá trị phù hợp trong cột 1, không có gì được thay đổi trong bảng quan hệ-quan hệ.
Kỹ thuật này thường được gọi là upsert
trong ngôn ngữ cơ sở dữ liệu hoặc như MERGE trong các triển khai khác. Đối số cho chế độ upsert là -update-mode, ở đó updateonly là mặc định và allowinsert kích hoạt chế độ upert. Kiểm tra tài liệu cơ sở dữ liệu của bạn hoặc tham khảo ý kiến của người bán hàng để xác định xem chế độ upsert có được hỗ trợ với Apache Sqoop hay không.