เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

แก้ไขคิวรีที่มีข้อผิดพลาด

คิวรีนี้รันได้โดยไม่มีข้อผิดพลาด แต่ให้ผลลัพธ์ที่ไม่ถูกต้องในแถวหนึ่ง เนื่องจากมีส่วนที่ขาดหายไปใน 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 = '____ ____ ____'
แก้ไขและรันโค้ด