Kom igångKom igång gratis

Öva på arraykolumner

SQL-funktionen udf är tillgänglig, liksom en dataram df_before av typen DataFrame[doc: array<string>, in: array<string>, out: array<string>].

Variabeln TRIVIAL_TOKENS är en mängd. Den innehåller vissa ord som vi vill ta bort.

Den här övningen är en del av kursen

Introduktion till Spark SQL i Python

Visa kurs

Övningsinstruktioner

  • Visa raderna i df_before där doc innehåller elementet 5.
  • Skapa en UDF som tar bort element i TRIVIAL_TOKENS från en arraykolumn. Ordningen behöver inte bevaras.
  • Ta bort tokens från kolumnerna in och out i df2 som förekommer i TRIVIAL_TOKENS.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod