Ich habe eine Menge sqoop-Jobs in AWS EMR ausgeführt, aber manchmal muss ich diese Instanz ausschalten.Save shoop inkrementelle Import-ID
Es gibt eine Möglichkeit, die letzte ID aus dem inkrementellen Import zu speichern, vielleicht lokal, und über cronjob in s3 hochzuladen.
Meine erste Idee ist, wenn ich den Job erstelle, sende ich einfach eine Anfrage an Redshift, wo meine Daten gespeichert sind und die letzte ID oder last_modified, per Bash-Skript.
Eine andere Idee ist es, die Ausgabe von shoop job --show $ jobid zu erhalten, den Parameter von last_id zu filtern und ihn zu verwenden, um den Job erneut zu erstellen.
Aber ich weiß nicht, ob sqoop eine Möglichkeit bietet, dies einfacher zu tun.
Ja, das Problem ist, weil der Metastore lokal gespeichert wird, und irgendwann muss ich den ETL-Prozess herunterfahren und wenn ich wiederherstellen muss ich von der letzten ID neu starten. Als ich die Dokumentation las, sah ich den sqoop-Metastore und ich änderte die sqoop-Site.XML, um diese Eigenschaften in einer MySQL-Instanz remote zu speichern. Ich werde diesen Ansatz morgen validieren. –
@CarlosEduardo dieses _ (Remote-MySQL als Metastore) _ würde Ihr Problem lösen. –
@CarlosEduardo hast du es versucht? –