2017-06-01 2 views
0

Ich habe tatsächlich meine Daten in Teradata-Tabelle. Ich habe diese Teradatatabellendaten mit dem Befehl shoop-import in Hive eingegeben.Wie inkrementelle Belastung mit Hilfe von sqoop-Tool

Aber meine Teradata-Tabelle wird die Daten auf einer täglichen Basis erhalten. Daher müssen die neu hinzugefügten Daten, d. H. Inkrementelle Daten von Teradata in die Hive-Tabelle, sqoopiert werden.

Kann jemand mir bitte einige Lösungen vorschlagen, um dies zu erreichen ...

+0

Können Sie es ausarbeiten, möchten Sie die Bienenstock-Tabelle auf täglicher Basis inkrementieren? –

+0

Haben Sie in Ihrer Teradata-Tabelle eine Art Zeitstempel für das Einfügen/Aktualisieren? – Andrew

Antwort

0

Wenn Sie eine beliebige Spalte ähnlich rudern-id/Zeitstempel in der Tabelle haben, dann können Sie verwenden:

--incremental [mode] --last-value [value] --check-column [col]

Wenn Sie über einen gespeicherten Job verfügen, können Sie --last-value überspringen, da dieser automatisch verwaltet wird.

--incremental [mode] hat zwei Modi. und append, können Sie eine basierend auf Ihrer Anforderung verwenden.

+0

... und lesen Sie den Sqoop Guide, Kapitel 12 bis 14 https://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html#_saved_jobs >> sorgfältig durch und denken Sie über diesen Satz nach: _ "By Standardmäßig werden Jobbeschreibungen in einem privaten Repository gespeichert, das in '$ HOME/.sqoop /' "_ gespeichert ist (dh auf der lokalen Festplatte eines bestimmten Knotens) _" Sie können Sqoop so konfigurieren, dass stattdessen ein gemeinsam genutzter Metstore verwendet wird ... "_ –