Další triky s ID
Jakmile jednou navrhneš Spark proces, budeš ho pravděpodobně chtít spouštět opakovaně. Podle potřeby můžeš nastavit, od jaké hodnoty mají ID začínat, aby se nepřekrývala s výsledky předchozích běhů Spark úlohy. Toto chování je podobné tomu, jak fungují ID v relačních databázích. Tvým úkolem je zajistit, aby ID generovaná v měsíční Spark úloze začínala od nejvyšší hodnoty z předchozího měsíce.
V pracovním prostředí máš k dispozici Spark session spark a dva DataFramy: voter_df_march a voter_df_april. Knihovna pyspark.sql.functions je dostupná pod aliasem F.
Toto cvičení je součástí kurzu
Cleaning Data with PySpark
Pokyny k cvičení
- Zjisti nejvyšší hodnotu
ROW_IDvvoter_df_marcha ulož ji do proměnnéprevious_max_ID. Pomocí.rdd.max()[0]získáš maximální ID. - Přidej sloupec
ROW_IDdovoter_df_apriltak, aby začínal od hodnotyprevious_max_ID+ 1. - Zobraz hodnoty
ROW_IDz obou DataFramů a porovnej je.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Determine the highest ROW_ID and save it in previous_max_ID
____ = ____.select('ROW_ID').rdd.max()[0] + 1
# Add a ROW_ID column to voter_df_april starting at the desired value
voter_df_april = ____.withColumn('ROW_ID', ____ + ____)
# Show the ROW_ID from both DataFrames and compare
____.select('ROW_ID').show()
____