ドット記法での集計 SQL
次のコードは、SQL を使って df というデータフレームに値を設定しています。
df = spark.sql("""
SELECT *,
LEAD(time,1) OVER(PARTITION BY train_id ORDER BY time) AS time_next
FROM schedule
""")
LEAD句には、pyspark.sql.functionsに同等の関数があります。PARTITION BYとORDER BY句には、それぞれWindowオブジェクトに対して呼び出す同等のドット記法の関数があります。- 次のインポートが使用できます:
- from pyspark.sql import Window
- from pyspark.sql.functions import lead
この演習はコースの一部です
Pythonで学ぶ Spark SQL 入門
演習の手順
- SQL の代わりにドット記法を使って、
dfと同一の結果を含むdot_dfというデータフレームを作成してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Obtain the identical result using dot notation
dot_df = df.withColumn('time_next', ____('time', 1)
.over(____.____('train_id')
.____('time')))