Video: Sqoop Import Syntax | Sqoop Import Data from MySql to HDFS Hands-on 2024
Med infogningsläge bifogas poster som exporteras av Sqoop till slutet av måltabellen. Sqoop tillhandahåller också ett uppdateringsläge som du kan använda genom att ge kommandoradsargumentet -update-key. Denna åtgärd gör att Sqoop genererar ett SQL UPDATE-meddelande för att köras på RDBMS eller datalagret.
Antag att du vill uppdatera en tabell med tre kolumner med data som är lagrade i HDFS-filen / användaren / my-hdfs-filen. Filen innehåller följande data:
100, 1000, 2000
Följande förkortade Sqoop-exportkommando genererar motsvarande SQL UPDATE-sats på ditt databassystem:
$ sqoopexport (Generic Arguments) -tabell - uppdatera kolumn1 - export-dir / användare / min-hdfs-fil … Generates => UPDATE målrelationell tabell SET column2 = 1000, column3 = 2000 WHERE column1 = 100;
Med det föregående exportkommandot, om målrelationelltabellen på ditt RDBMS eller datalagringssystem inte har någon post med matchningsvärdet i kolumn 1 ändras ingenting i målrelationellt-tabellen.
Du kan dock också inkludera ett annat argument som lägger in eller lägger till dina data i mål-tabellen om inga matchande poster hittas. Tänk på det här sättet: Om det finns UPDATE annars INSERT.
Denna teknik kallas ofta upsert i databasversionen eller som MERGE i andra implementeringar. Argumentet för uppblåst läge är -update-mode, där updateonly är standard och allowinsert aktiverar uppstartsläge. Kontrollera databasdokumentationen eller kontakta din vän om du vill avgöra om uppkopplat läge stöds av Apache Sqoop.