始める無料で始める

同じ列を2回集計する

ドット記法よりもSQLのほうが扱いやすい場合があります。この演習では、各路線の最初と最後の時刻を計算します。次のコードはドット記法でそれを実行しています。

from pyspark.sql.functions import min, max, col
expr = [min(col("time")).alias('start'), max(col("time")).alias('end')]
dot_df = df.groupBy("train_id").agg(*expr)
dot_df.show()
+--------+-----+-----+
|train_id|start|  end|
+--------+-----+-----+
|     217|6:06a|6:59a|
|     324|7:59a|9:05a|
+--------+-----+-----+

この結果と同じものを、SQLクエリで実現してください。データフレーム dfschedule という名前のテーブルとして登録されています。

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

Pythonで学ぶ Spark SQL 入門

コースを見る

演習の手順

  • ドット記法のクエリと同一の結果を返すSQLクエリを書いてください。

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

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

# Write a SQL query giving a result identical to dot_df
query = "SELECT ____ FROM schedule ____ ____ ____"
sql_df = spark.sql(query)
sql_df.show()
コードを編集して実行