Aynı sütunu iki kez biriktirmek
Nokta gösteriminin SQL'e göre daha zahmetli olabildiği durumlar vardır. Bu egzersizde her tren hattı için ilk ve son zamanları hesaplayacaksın. Aşağıdaki kod bunu nokta gösterimiyle yapıyor.
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|
+--------+-----+-----+
Görevin, aynı sonucu bir SQL sorgusuyla elde etmek. df veri çerçevesi schedule adlı bir tablo olarak kaydedildi.
Bu egzersiz, kursun bir parçasıdır
Python ile Spark SQL'e Giriş
Egzersiz talimatları
- Nokta gösterimi sorgusuyla aynı sonucu veren bir SQL sorgusu yaz.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Write a SQL query giving a result identical to dot_df
query = "SELECT ____ FROM schedule ____ ____ ____"
sql_df = spark.sql(query)
sql_df.show()