1. Learn
  2. /
  3. Courses
  4. /
  5. Pythonで学ぶ Spark SQL 入門

Connected

Exercise

UDF 作成の練習

組み込み関数では対応できない変換が必要になることがあります。そんなときに有効なのがユーザー定義関数("UDF")です。

SQL 関数 udf が利用できます。

DataFrame[doc: array<string>, in: array<string>, out: array<string>] 型のデータフレーム df2 が用意されています。doc 列には単純なトークンが入っています。

次のコードは、doc に '1' を含む df2 の先頭 20 行を表示します。

df2.where(array_contains('doc','1')).show()

次の2つの目標を達成してください。

  1. 変換後のデータが空でないベクトルで構成されるようにします。
  2. 文字列の配列を含む列があり、各配列には要素が1つだけ入っています。この列を文字列に変換したいです。

Instructions

100 XP
  • numNonzeros() を使って、値が空でないベクトルのときに限って true を返す udf を作成します。
  • 配列の最初の要素を取り出し、その文字列表現を返す udf を作成します。