Zacznij terazZacznij za darmo

Więcej sztuczek z ID

Gdy zdefiniujesz proces Spark, zapewne będziesz chcieć go wielokrotnie używać. W zależności od potrzeb możesz chcieć, aby identyfikatory zaczynały się od określonej wartości, tak by nie nakładały się na wyniki z poprzednich uruchomień zadania Spark. Takie zachowanie jest podobne do tego, jak działają identyfikatory w relacyjnych bazach danych. Masz za zadanie zadbać o to, żeby identyfikatory generowane przez miesięczne zadanie Spark zaczynały się od wartości wyższej niż najwyższy identyfikator z poprzedniego miesiąca.

Sesja spark oraz dwa DataFrames – voter_df_march i voter_df_april – są dostępne w twoim środowisku roboczym. Biblioteka pyspark.sql.functions jest dostępna pod aliasem F.

To ćwiczenie jest częścią kursu

Czyszczenie danych w PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Wyznacz najwyższą wartość ROW_ID w voter_df_march i zapisz ją w zmiennej previous_max_ID. Użyj wyrażenia .rdd.max()[0], aby pobrać maksymalne ID.
  • Dodaj kolumnę ROW_ID do voter_df_april, zaczynając od wartości previous_max_ID + 1.
  • Wyświetl kolumny ROW_ID z obu DataFrames i porównaj je.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
____
Edytuj i uruchom kod