Ще кілька прийомів з ID
Коли ви визначаєте процес у Spark, ймовірно, захочете використовувати його багато разів. Залежно від потреб, може бути зручно починати ваші ID з певного значення, щоб уникнути перетину з попередніми запусками завдання Spark. Це схоже на те, як поводяться ідентифікатори в реляційній базі даних. Вам доручено гарантувати, що ID, які повертає щомісячне завдання Spark, починаються з найбільшого значення попереднього місяця.
Сесія spark і два датафрейми voter_df_march та voter_df_april уже доступні у вашому середовищі. Бібліотека pyspark.sql.functions доступна під псевдонімом F.
Ця вправа є частиною курсу
Очищення даних у PySpark
Інструкції до вправи
- Визначте найбільший
ROW_IDуvoter_df_marchі збережіть його у зміннійprevious_max_ID. Вираз.rdd.max()[0]поверне максимальний ID. - Додайте стовпець
ROW_IDдоvoter_df_april, починаючи зі значенняprevious_max_ID+ 1. - Виведіть
ROW_IDз обох датафреймів і порівняйте.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()
____