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
Python ile Spark SQL'e Giriş
kursunun bir parçasıdırEgzersiz talimatları
- Nokta gösterimi sorgusuyla aynı sonucu veren bir SQL sorgusu yaz.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Write a SQL query giving a result identical to dot_df
query = "SELECT ____ FROM schedule ____ ____ ____"
sql_df = spark.sql(query)
sql_df.show()