始める無料で始める

さらにパースする

このデータセットは最初の形式から大きく形を変えられましたが、まだやるべきことがいくつか残っています。後続の分析で使えるようにカラムのデータを整え、中間的なカラムをいくつか削除する必要があります。

spark コンテキストは利用可能で、pyspark.sql.functionsF としてエイリアスされています。pyspark.sql.types の型はすでにインポート済みです。split_df DataFrame は前の状態のままです。コンソール領域で DataFrame に対して .printSchema() を使うと、カラム名と型を確認できます。

⚠️ 注意: AttributeError が表示された場合は、演習をリフレッシュして、コードを実行する を押さずに Run Solution をクリックしてください。

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

PySpark でデータをクレンジングする

コースを見る

演習の手順

  • retriever という新しい関数を作成します。引数は、分割後のカラム(cols)とカラムの総数(colcount)の2つです。この関数は、まだカラムとして定義されていないエントリ(つまり、リストの4番目以降の要素)をリストで返します。
  • この関数を Spark の UDF として定義し、戻り値は文字列の配列にします。
  • UDF と DataFrame 内の利用可能なカラムを使って、新しいカラム dog_list を作成します。
  • _c0colcountsplit_cols の各カラムを削除します。

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

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

def retriever(____, ____):
  # Return a list of dog data
  return ____[4:____]

# Define the method as a UDF
udfRetriever = ____(____, ArrayType(____))

# Create a new column using your UDF
split_df = split_df.withColumn('dog_list', ____(____, ____))

# Remove the original column, split_cols, and the colcount
split_df = split_df.drop('____').____('____').____('____')
コードを編集して実行