Aus einer Datenbank lesen
In dieser Übung wirst du Daten aus Tabellen einer lokalen PostgreSQL-Datenbank extrahieren. Die Daten, die du verwenden wirst, kommen aus der Pagila-Beispieldatenbank. Die Datenbank unterstützt eine fiktive DVD-Shop-Anwendung und wird oft als Beispiel-Datenbank in Lehrmaterialien verwendet.
Du wirst eine Funktion erstellen und verwenden, die eine Datenbank-Tabelle in ein pandas-DataFrame-Objekt extrahiert. Die Tabellen, die du extrahieren wirst, sind:
film: die Filme, die man in der DVD-Videothek ausleihen kann.customer: die Kunden, die Filme in der DVD-Videothek ausgeliehen haben.
Um dich mit der Datenbank zu verbinden, musst du eine PostgreSQL-Verbindungs-URI verwenden, die ungefähr so aussieht:
postgresql://[user[:password]@][host][:port][/database]
Diese Übung ist Teil des Kurses
Einführung in das Data Engineering
Anleitung zur Übung
- Vervollständige die Funktionsdefinition
extract_table_to_pandas(), um das Argumenttablenamein die Abfrage einzubauen. - Gib die Verbindungs-URI ein. Der Benutzername und das Passwort sind
replbzw.password. Der Host istlocalhostund der Port ist5432. Die Datenbank istpagila. - Vervollständige die Funktionsaufrufe von
extract_table_to_pandas(), um die Tabellen „film“ und „customer“ zu extrahieren.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Function to extract table to a pandas DataFrame
def extract_table_to_pandas(tablename, db_engine):
query = "SELECT * FROM {}".format(____)
return pd.read_sql(query, db_engine)
# Connect to the database using the connection URI
connection_uri = "postgresql://____:____@____:____/____"
db_engine = sqlalchemy.create_engine(connection_uri)
# Extract the film table into a pandas DataFrame
extract_table_to_pandas("____", db_engine)
# Extract the customer table into a pandas DataFrame
extract_table_to_pandas("____", db_engine)