Oefenen met kolommen van het type array
De SQL-functie udf is beschikbaar, evenals een dataframe df_before van het type DataFrame[doc: array<string>, in: array<string>, out: array<string>].
De variabele TRIVIAL_TOKENS is een set. Deze bevat bepaalde woorden die we willen verwijderen.
Deze oefening maakt deel uit van de cursus
Introductie tot Spark SQL in Python
Oefeninstructies
- Toon de rijen van
df_beforewaardochet item5bevat. - Maak een udf die items in
TRIVIAL_TOKENSuit een array-kolom verwijdert. De volgorde hoeft niet behouden te blijven. - Verwijder tokens uit de kolommen
inenoutindf2die voorkomen inTRIVIAL_TOKENS.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()