IniziaInizia gratis

Esercitarsi con la colonna array

La funzione SQL udf è disponibile, così come è disponibile un dataframe df_before, di tipo DataFrame[doc: array<string>, in: array<string>, out: array<string>].

La variabile TRIVIAL_TOKENS è un set. Contiene alcune parole che vogliamo rimuovere.

Questo esercizio fa parte del corso

Introduzione a Spark SQL in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Mostra le righe di df_before in cui doc contiene l'elemento 5.
  • Crea una udf che rimuove gli elementi presenti in TRIVIAL_TOKENS da una colonna array. Non è necessario preservare l'ordine.
  • Rimuovi i token dalle colonne in e out in df2 che compaiono in TRIVIAL_TOKENS.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice