Repareer de kapotte query
Deze query voert correct uit, maar geeft in één van de rijen een onjuist resultaat door een weglating in de OVER-clausule. Kun je de bug vinden? Kun je de query aanpassen zodat hij een logisch resultaat geeft?
Deze oefening maakt deel uit van de cursus
Introductie tot Spark SQL in Python
Oefeninstructies
- Geef het rijnummer van de foutieve rij als een geheel getal.
- Geef de clausule (als string) die, wanneer toegevoegd aan de OVER-clausule, het probleem oplost.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
query = """
SELECT
ROW_NUMBER() OVER (ORDER BY time) AS row,
train_id,
station,
time,
LEAD(time,1) OVER (ORDER BY time) AS time_next
FROM schedule
"""
spark.sql(query).show()
# Give the number of the bad row as an integer
bad_row = ____
# Provide the missing clause, SQL keywords in upper case
clause = '____ ____ ____'