2016-05-28 21 views
-1

Ich muss CSV-Dateien von meinem Desktop (Windows) zu Redshift-Tabellen laden.Wie lade ich CSV-Datei von OS Windows mit Python in Amazon Redshift?

Kann jemand demonstrieren, diesen Prozess in Python zu implementieren?

Ich gehe davon aus, dass das Skript den CSV-Dateinamen und die Verbindungsdetails akzeptiert.

Das Ergebnis der Ausführung des Skripts sind CSV-Daten, die an die Redshift-Tabelle angehängt sind.

+1

Sie können mit der Online-Dokumentation beginnen und einige Bibliotheken https://docs.python.org/2/library/csv.html nachschlagen Irgendein Code und irgendwelche Probleme, denen Sie begegnen, also können wir Ihnen helfen – glls

Antwort

1

Beginnen Sie mit dem Hochladen der Datei in S3, da die effektivste Methode zum Laden von Daten in Redshift über COPY von S3 erfolgt.

Sie können die AWS SDK für S3 verwenden: https://boto3.readthedocs.io/en/latest/reference/services/s3.html#S3.Object.put

Der nächste Schritt ist es, einen COPY-Befehl auszuführen. Dies geschieht über eine SQL-Verbindung. Hier haben Sie ein paar Optionen, einige verwenden zum Beispiel die Standard-JDBC/ODBC-Verbindung zu Redshift/PostgreSQL (pyodbc - https://github.com/mkleehammer/pyodbc) oder eine dedizierte Bibliothek für solch einen COPY (http://initd.org/psycopg/, zum Beispiel). Dieser COPY-Befehl zeigt auf das S3-Objekt, das Sie in Schritt 1 hochgeladen haben.