In diesem Artikel werde ich erklären, wie Sie Daten aus einer Python-Anwendung unter Windows mithilfe des DataDirect-Treibers einfach mit ODBC mit Amazon Redshift verknüpfen können.
Laden Sie den DataDirect ODBC-Treiber für Amazon Redshift für Windows herunter.
Installieren Sie den Treiber gemäß dem Verfahren.
Klicken Sie im ODBC-Administrator auf "Hinzufügen", um die Verbindung zu definieren. Der Treiber wählt DataDirect 7.1 Amazon Redshift Wire Protocol aus.
Geben Sie im Einstellungsfenster den Hostnamen, den Port und die Datenquelle wie unten gezeigt ein.
Klicken Sie auf Verbindung testen und prüfen Sie, ob Sie mit Ihrem Benutzernamen und Kennwort eine normale Verbindung herstellen können.
pip install pyodbc
import pyodbc
conn = pyodbc.connect('DSN=Redshift;UID=awsuser;PWD=awsPassword')
cursor = conn.cursor()
## Create Tables
cursor.execute("CREATE TABLE Track ( TrackId INT NOT NULL, Name VARCHAR(200) NOT NULL, AlbumId INT, MediaTypeId INT NOT NULL, GenreId INT, Composer VARCHAR(220), Milliseconds INT NOT NULL, Bytes INT, UnitPrice NUMERIC(10,2) NOT NULL);")
cursor.execute("INSERT INTO Track (TrackId, Name, AlbumId, MediaTypeId, GenreId, Composer, Milliseconds, Bytes, UnitPrice) VALUES (1, 'For Those About To Rock (We Salute You)', 1, 1, 1, 'Angus Young, Malcolm Young, Brian Johnson', 343719, 11170334, 0.99);")
conn.commit()
##Access Data using SQL
cursor.execute("select * from Track")
while True:
row = cursor.fetchone()
if not row:
break
print(row)
##Access Data using SQL
cursor.execute("select * from Artist")
while True:
row = cursor.fetchone()
if not row:
break
print(row)
Driver={DataDirect 7.1 Amazon Redshift Wire Protocol}; HostName=Bitte stellen Sie den Hostnamen ein; Database=Bitte stellen Sie den DB-Namen ein; UID=Bitte legen Sie die Benutzer-ID fest; PWD=Bitte legen Sie ein Passwort fest; Port=5439
Es ist sehr leicht.
Referenzartikel
Echtzeitzugriff auf Amazon Redshift