Video: Import CSV data into MySQL table using query 2024
Dengan mode insert, catatan yang diekspor oleh Sqoop ditambahkan ke akhir tabel target. Sqoop juga menyediakan mode update yang bisa Anda gunakan dengan memberikan argumen baris perintah -update-key. Tindakan ini menyebabkan Sqoop menghasilkan statemen UPDATE SQL untuk dijalankan di RDBMS atau data warehouse.
Asumsikan Anda ingin memperbarui tabel tiga kolom dengan data yang tersimpan dalam file HDFS / user / my-hdfs-file. File berisi data ini:
$ sqoop export (Generic Arguments) --table target-relational -tabel --update-key column1 --export-dir / user / my-hdfs-file … Menghasilkan => UPDATE target-relational-table SET column2 = 1000, column3 = 2000 WHERE column1 = 100;Dengan perintah ekspor sebelumnya, jika tabel target-relasional pada sistem RDBMS atau data warehouse Anda tidak memiliki catatan dengan nilai yang cocok di kolom1, tidak ada yang berubah dalam tabel target-relasional.
Namun, Anda mungkin juga menyertakan argumen lain yang memasukkan atau menambahkan data Anda ke tabel target jika tidak ada catatan yang cocok. Anggap saja begini: Jika ada UPDATE else INSERT.
Teknik ini sering disebut sebagai
upsertdalam database vernacular atau sebagai MERGE dalam implementasi lainnya. Argumen untuk mode upsert adalah mode -update-mode, di mana updateonly adalah default dan allowinsert mengaktifkan mode upsert. Periksa dokumentasi database Anda atau konsultasikan dengan vender Anda untuk mengetahui apakah mode upsert didukung dengan Apache Sqoop.