Video: Apache Sqoop Tutorial | Sqoop: Import & Export Data From MySQL To HDFS | Hadoop Training | Edureka 2024
Ekleme modunda, Sqoop tarafından ihraç edilen kayıtlar hedef tablonun sonuna eklenir. Sqoop ayrıca, -update-key komut satırı argümanını sağlayarak kullanabileceğiniz bir güncelleme modu sağlar. Bu eylem, Sqoop'un RDBMS veya veri ambarında çalıştırılacak bir SQL UPDATE deyimi üretmesine neden olur.
HDFS dosyasında / user / my-hdfs dosyasında saklanan verilerle üç sütunlu bir tablo güncellemek istediğinizi varsayınız. Dosya şu verileri içerir:
100, 1000, 2000
Aşağıdaki kısaltılmış Sqoop export komutu, veritabanı sisteminizde ilgili SQL UPDATE deyimini üretir:
$ sqoop export (Generic Arguments) --table target-relational -tablosu -update-key column1 -export-dir / user / my-hdfs-file … => UPDATE hedef ilişkisel tablo oluşturur SET column2 = 1000, column3 = 2000 WHERE column1 = 100;
Önceki export komutu ile, RDBMS'inizdeki veya veri ambarı sisteminizdeki hedef ilişkisel tablonun sütun1'deki eşleşen değeri olan hiçbir kaydı yoksa, hedef ilişkisel tabloda hiçbir şey değişmez.
Ancak eşleşen kayıt bulunamazsa, verilerinizi hedef tabloya ekleyen veya ekleyen başka bir argüman da ekleyebilirsiniz. Bu şekilde düşünün: Varsa GÜNCELLENDİRİN başka INSERT.
Bu teknik genellikle veritabanında veya başka uygulamalarda BİRLEŞİKTE olarak upsert olarak anılır. Yükseltme modunun argümanı -update-mode'dur; burada updateonly varsayılandır ve allowinsert, upsert modunu etkinleştirir. Güncelleme modunun Apache Sqoop ile desteklenip desteklenmediğini belirlemek için veritabanı dokümanlarınızı kontrol edin veya satıcınıza danışın.