Mit Array-Spalten üben
Die SQL-Funktion udf ist verfügbar, ebenso ein DataFrame df_before vom Typ DataFrame[doc: array<string>, in: array<string>, out: array<string>].
Die Variable TRIVIAL_TOKENS ist ein Set. Es enthält bestimmte Wörter, die wir entfernen wollen.
Diese Übung ist Teil des Kurses
Einführung in Spark SQL mit Python
Anleitung zur Übung
- Zeige die Zeilen von
df_before, in denendocdas Element5enthält. - Erstelle ein UDF, das Elemente in
TRIVIAL_TOKENSaus einer Array-Spalte entfernt. Die Reihenfolge muss nicht erhalten bleiben. - Entferne Tokens aus den Spalten
inundoutindf2, die inTRIVIAL_TOKENSvorkommen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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()