Delta / Inkrementelle Last im Bienenstock

Ich habe den Anwendungsfall unten:

Meine Bewerbung hat eine Tabelle mitmehrjährige Daten imRDBMS DB. Wir haben benutztsqoop um Daten in HDFS zu laden und in eine von partitionierte Hive-Tabelle zu ladenJahr Monat.

Die Anwendung wird nun täglich aktualisiert und fügt neue Datensätze in die Tabelle RDBMS Table ein. Diese aktualisierten Aufzeichnungen können sich über mehrere Monate erstrecken. Aktualisierte Datensätze und neue Einfügungsdatensätze können durch das aktualisierte Zeitstempelfeld bestimmt werden (es hat den aktuellen Tageszeitstempel).

Das Problem hier ist nun, wie Sie mit diesen aktualisierten Datensätzen täglich eine Delta / Incremental Load Hive-Tabelle erstellen.

-> Ich weiß, dass es eine sqoop-Funktion gibt, die inkrementelle Importe ermöglicht. Ein neuer inkrementeller Import allein reicht uns jedoch nicht aus.

Weil -

-> Ich kann diese Datensätze nicht direkt (mithilfe von Einfügen in) in die Hive-Tabelle einfügen, da dies zu doppelten Datensätzen (aktualisierten Datensätzen) führt.

-> Ebenso kann ich keine Anweisung zum Überschreiben verwenden, da diese nur Datensätze aktualisieren und einfügen, die sich über mehrere Monate erstrecken. Überschreiben einfügen löscht frühere Datensätze.

Am einfachsten ist es natürlich, mit sqoop täglich vollständige Daten abzurufen, aber wir möchten dies nicht tun, da das Datenvolumen groß ist.

Grundsätzlich möchten wir also nur die Partitionen vollständig laden, für die wir Aktualisierungs- / Einfügungsdatensätze erhalten haben.

Wir sind offen, um Optionen am Bienenstock oder am Ende des Bienenstocks zu erkunden. Können Sie uns bitte Bescheid geben?

Danke im Voraus.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage