Тренування з колонкою-масивом
Доступна 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()