Mehrere Dateien scannen
Die Checkout-Daten des Teams sind jetzt auf je eine CSV pro Jahr aufgeteilt (seattle_2021.csv, seattle_2022.csv, seattle_2023.csv). Diese Jahresdateien verwenden die Legacy-Spaltennamen usageclass und materialtype. Verwende ein Glob-Muster, um alle Dateien gemeinsam als einen logischen Datensatz zu scannen, und erstelle dann eine Zusammenfassung für physische Checkouts.
polars ist als pl geladen, und das Verzeichnis steht in MULTIFILE_DIR.
Diese Übung ist Teil des Kurses
<Kurs>Skalieren und Optimieren von Data-Pipelines mit Polars</Kurs>Übungsanweisungen
- Scanne alle
seattle_*.csv-Dateien inMULTIFILE_DIRmithilfe eines Glob-Musters. - Filtere den kombinierten Datensatz auf
"Physical"-Checkouts und gruppiere anschließend nachmaterialtype.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Scan every yearly file using a glob pattern
yearly_checkouts = pl.____(
str(MULTIFILE_DIR / "____")
)
# Build a physical-checkout summary across the combined dataset
result = (
yearly_checkouts
# Filter to physical
.filter(pl.col("usageclass") == "____")
.group_by("____")
.agg(pl.col("checkouts").sum().alias("total"))
.sort("total", descending=True)
.collect()
)
print(result)