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

การเลือกคอลัมน์

เมธอด .select() ใน Spark ทำหน้าที่เทียบเท่ากับคำสั่ง SELECT ใน SQL โดยรับอาร์กิวเมนต์หลายตัว — หนึ่งตัวต่อหนึ่งคอลัมน์ที่ต้องการเลือก อาร์กิวเมนต์เหล่านี้จะเป็นชื่อคอลัมน์ในรูปแบบ string หรือ object ของคอลัมน์ (โดยใช้ syntax df.colName) ก็ได้ เมื่อส่ง object ของคอลัมน์เข้าไป สามารถดำเนินการต่าง ๆ เช่น การบวกหรือลบได้ ซึ่งคล้ายกับการใช้ .withColumn()

ความแตกต่างระหว่าง .select() กับ .withColumn() คือ .select() จะคืนค่าเฉพาะคอลัมน์ที่ระบุเท่านั้น ในขณะที่ .withColumn() จะคืนค่าทุกคอลัมน์ใน DataFrame พร้อมกับคอลัมน์ที่กำหนดเพิ่มเข้าไป การตัดคอลัมน์ที่ไม่จำเป็นออกตั้งแต่ต้นเป็นวิธีที่ดี เพื่อไม่ต้องแบกข้อมูลส่วนเกินไปตลอดกระบวนการ ในกรณีนี้ให้ใช้ .select() แทน .withColumn()

จำไว้ว่า SparkSession ชื่อ spark และ Spark DataFrame ชื่อ flights ถูกเตรียมไว้ใน workspace แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

พื้นฐาน PySpark

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เลือกคอลัมน์ "tailnum", "origin", และ "dest" จาก flights โดยส่งชื่อคอลัมน์เป็น string แล้วบันทึกผลลัพธ์ไว้ในตัวแปร selected1
  • เลือกคอลัมน์ "origin", "dest", และ "carrier" โดยใช้ syntax df.colName จากนั้นกรองผลลัพธ์ด้วย filterA และ filterB ที่เตรียมไว้ให้แล้ว เพื่อเก็บเฉพาะเที่ยวบินจาก SEA ไป PDX แล้วบันทึกผลลัพธ์ไว้ในตัวแปร selected2

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Select the first set of columns
selected1 = flights.select("____", "____", "____")

# Select the second set of columns
temp = flights.select(____.____, ____.____, ____.____)

# Define first filter
filterA = flights.origin == "SEA"

# Define second filter
filterB = flights.dest == "PDX"

# Filter the data, first by filterA then by filterB
selected2 = temp.filter(____).filter(____)
แก้ไขและรันโค้ด