НачатьНачать бесплатно

Дополнительные приёмы с ID

Однажды настроив процесс в Spark, вы, скорее всего, захотите запускать его снова и снова. В зависимости от задачи может потребоваться, чтобы ID начинались с определённого значения — это исключит пересечение с результатами предыдущих запусков, как это принято в реляционных базах данных. Вам поставлена задача: убедиться, что ID, формируемые в ежемесячной задаче Spark, начинаются со значения, превышающего максимальное ID из предыдущего месяца.

В вашем рабочем пространстве доступны сессия spark и два DataFrame — voter_df_march и voter_df_april. Библиотека pyspark.sql.functions подключена под псевдонимом F.

Это упражнение является частью курса

Очистка данных с помощью PySpark

Посмотреть курс

Инструкции к упражнению

  • Определите наибольшее значение ROW_ID в voter_df_march и сохраните его в переменную previous_max_ID. Для получения максимального ID используйте выражение .rdd.max()[0].
  • Добавьте столбец ROW_ID в voter_df_april, начиная со значения previous_max_ID + 1.
  • Отобразите значения ROW_ID из обоих DataFrame и сравните их.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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()
____
Редактировать и запускать код