Praca z kolumnami tablicowymi
Dostępna jest funkcja SQL udf, a także ramka danych df_before typu DataFrame[doc: array<string>, in: array<string>, out: array<string>].
Zmienna TRIVIAL_TOKENS jest zbiorem. Zawiera pewne słowa, które chcemy usunąć.
To ćwiczenie jest częścią kursu
Wprowadzenie do Spark SQL w Pythonie
Instrukcje do ćwiczenia
- Wyświetl wiersze z
df_before, w którychdoczawiera element5. - Utwórz UDF, który usuwa z kolumny tablicowej elementy znajdujące się w
TRIVIAL_TOKENS. Zachowanie kolejności nie jest wymagane. - Usuń tokeny z kolumn
inioutwdf2, które pojawiają się wTRIVIAL_TOKENS.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()