แก้ไขคิวรีที่มีข้อผิดพลาด
คิวรีนี้รันได้โดยไม่มีข้อผิดพลาด แต่ให้ผลลัพธ์ที่ไม่ถูกต้องในแถวหนึ่ง เนื่องจากมีส่วนที่ขาดหายไปใน OVER clause ลองหาจุดบกพร่องและแก้ไขคิวรีให้ได้ผลลัพธ์ที่ถูกต้อง
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Introduction to Spark SQL in Python
คำแนะนำการฝึกหัด
- ระบุหมายเลขแถวที่มีข้อผิดพลาดเป็นจำนวนเต็ม
- ระบุ clause (เป็น string) ที่เมื่อเพิ่มเข้าไปใน OVER clause แล้วจะแก้ปัญหาได้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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 = '____ ____ ____'