Práce se sloupcovými poli
K dispozici máš SQL funkci udf a také dataframe df_before typu DataFrame[doc: array<string>, in: array<string>, out: array<string>].
Proměnná TRIVIAL_TOKENS je množina. Obsahuje určitá slova, která chceme odstranit.
Toto cvičení je součástí kurzu
Úvod do Spark SQL v Pythonu
Pokyny k cvičení
- Zobraz řádky
df_before, kdedocobsahuje prvek5. - Vytvoř UDF, které ze sloupcového pole odstraní prvky obsažené v
TRIVIAL_TOKENS. Pořadí prvků nemusí být zachováno. - Z sloupců
inaoutvdf2odstraň tokeny, které se vyskytují vTRIVIAL_TOKENS.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()