Wie kürze/lösche ich eine Datenbanktabelle aus dem AWS Glue-Job?

AWS Glue ist ein von Amazon entwickeltes und verwaltetes ETL-Tool, das darunter PySpark verwendet. Ein ETL-Job kann viele Arten von Datenquellen und -zielen haben. Es ist ziemlich einfach, mit Dateien als Quelle/Ziel zu arbeiten, geben Sie einfach Anmeldeinformationen und einen Speicherort zum Lesen und Schreiben an.

Kürzlich habe ich daran gearbeitet, eine gespeicherte SQL-Prozedur in einen Glue-Job zu konvertieren. Meine Anforderung war sehr einfach. Der interessante Teil war das Abschneiden der Zieltabelle vor dem Einfügen neuer Daten. Glue Data Frame bietet nicht overwrite Modus beim Laden in die Tabelle. Ich recherchiere ein bisschen, habe aber keine Ressourcen gefunden, die damit umgehen, und bekomme auch keine Richtung. Wie können wir das tun?

Etwas kam mir in den Sinn, ja, ich kann das tun. Lassen Sie uns dazu die Fähigkeiten des Fahrers nutzen. Dafür habe ich verwendet PyMySQL Python-Paket.

import pymysql
import pymysql.cursors

# Connect to the database using db details or fetch these from Glue connections
connection = pymysql.connect(host="localhost",
                             user="user",
                             password='passwd',
                             database="db",
                             cursorclass=pymysql.cursors.DictCursor)

with connection:
    with connection.cursor() as cursor:
        # Create a new record
        table_to_truncate = "test_table"
        sql = f"truncate table {table_to_truncate}"
        cursor.execute(sql)
        
    # connection is not autocommit by default. So you must commit to save
    # your changes.
    connection.commit()

Wenn Sie mit Glue Studio arbeiten, erstellen Sie einen Job per Drag & Drop, indem Sie Notizen auswählen. Schreiben Sie eine benutzerdefinierte Transformation und schreiben Sie dieses Snippet in diese Transformation. Andernfalls können Sie es an einer beliebigen Stelle in der Codedatei einfügen.

Sie haben immer noch Probleme, dies zu erreichen, oder stecken mit etwas Komplexem in dieser Big-Data-Domäne fest. Fühlen Sie sich frei, mich zu erreichen.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *