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

Работа со столбцом типа массив

Доступна SQL-функция udf, а также датафрейм df_before типа DataFrame[doc: array<string>, in: array<string>, out: array<string>].

Переменная TRIVIAL_TOKENS является множеством. Она содержит слова, которые необходимо удалить.

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

Введение в Spark SQL на Python

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

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

  • Выведите строки df_before, в которых столбец doc содержит элемент 5.
  • Создайте UDF, которая удаляет из столбца-массива элементы, входящие в TRIVIAL_TOKENS. Порядок элементов сохранять не обязательно.
  • Удалите из столбцов in и out в df2 токены, присутствующие в TRIVIAL_TOKENS.

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

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

# Show the rows where doc contains the item '5'
df_before.where(array_contains('doc', '____')).show()

# UDF removes items in TRIVIAL_TOKENS from array
rm_trivial_udf = udf(lambda x:
                     list(set(x) - ____) if x
                     else x,
                     ArrayType(____()))

# Remove trivial tokens from 'in' and 'out' columns of df2
df_after = df_before.withColumn('in', ____('in'))\
                    .withColumn('out', ____('out'))

# Show the rows of df_after where doc contains the item '5'
df_after.where(array_contains('doc','5')).show()
Редактировать и запускать код