ลองสืบค้นข้อมูลกันเลย
หนึ่งในข้อดีของ DataFrame interface คือสามารถรัน SQL query บนตารางใน Spark cluster ได้โดยตรง หากยังไม่มีประสบการณ์กับ SQL ไม่ต้องกังวล เราจะเตรียม query ให้! (หากต้องการเรียนรู้ SQL เพิ่มเติม สามารถเริ่มต้นได้ที่คอร์ส Introduction to SQL ของเรา)
จากแบบฝึกหัดที่ผ่านมา หนึ่งในตารางที่มีอยู่ใน cluster คือตาราง flights ซึ่งบันทึกข้อมูลเที่ยวบินทุกเที่ยวที่ออกจากสนามบิน Portland International Airport (PDX) หรือ Seattle-Tacoma International Airport (SEA) ในปี 2014 และ 2015
การรัน query บนตารางนี้ทำได้ง่ายมาก เพียงใช้เมธอด .sql() บน SparkSession เมธอดนี้รับค่าเป็น string ที่มี query และคืนค่าเป็น DataFrame พร้อมผลลัพธ์
หากสังเกตดูดี จะพบว่าตาราง flights ปรากฏเฉพาะใน query เท่านั้น ไม่ได้ถูกส่งเป็น argument ให้เมธอดใด เนื่องจากไม่มี object ในเครื่องที่เก็บข้อมูลนี้ไว้ จึงไม่จำเป็นต้องส่งตารางเป็น argument
อย่าลืมว่าเราได้สร้าง SparkSession ชื่อ spark ไว้ใน workspace ให้แล้ว (ไม่ได้ใช้ชื่อ my_spark อีกต่อไป เพราะเราสร้างไว้ให้แล้วนั่นเอง!)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
พื้นฐาน PySpark
คำแนะนำการฝึกหัด
- ใช้เมธอด
.sql()เพื่อดึงข้อมูล 10 แถวแรกจากตารางflightsแล้วบันทึกผลลัพธ์ไว้ในตัวแปรflights10โดยตัวแปรqueryมี SQL query ที่เหมาะสมอยู่แล้ว - ใช้เมธอด
.show()ของ DataFrame เพื่อแสดงผลflights10
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Don't change this query
query = "FROM flights SELECT * LIMIT 10"
# Get the first 10 rows of flights
flights10 = ____
# Show the results
flights10.____