Aus einer Datenbank lesen
In dieser Übung wirst du Daten aus Tabellen einer lokalen PostgreSQL-Datenbank extrahieren. Die Daten, die du verwenden wirst, sind die 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 Leute, 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
- Fertig die Funktionsdefinition „
extract_table_to_pandas()
“ ab, um das Argument „tablename
“ in die Abfrage einzubauen. - Gib die Verbindungs-URI ein. Der Benutzername und das Passwort sind
repl
bzw.password
. Der Host istlocalhost
und der Port ist5432
. Die Datenbank istpagila
. - Mach die Funktionsaufrufe von „
extract_table_to_pandas()
“ fertig, 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)