始める無料で始める

配列カラムの練習

SQL 関数 udf と、DataFrame[doc: array<string>, in: array<string>, out: array<string>] 型のデータフレーム df_before が利用できます。

変数 TRIVIAL_TOKENS は set で、削除したい特定の単語を含んでいます。

この演習はコースの一部です

Pythonで学ぶ Spark SQL 入門

コースを見る

演習の手順

  • doc に要素 5 を含む df_before の行を表示してください。
  • 配列カラムから TRIVIAL_TOKENS に含まれる要素を取り除く UDF を作成してください。順序は保持しなくて構いません。
  • df2inout 列から、TRIVIAL_TOKENS に含まれるトークンを削除してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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()
コードを編集して実行