Data

Azure Databricks: วิธีใช้ inferSchema ใน Apache Spark

เรื่องที่เกี่ยวข้อง - Apache Spark, inferSchema, Python

ในการอ่านข้อมูลด้วย Apache Spark เรา โดยปกติ Spark จะไม่พยายาม “กำหนด” data type ของ column ที่อยู่ในข้อมูล แต่จะกำหนดเป็นค่าเริ่มต้น เช่น

  • StringType สำหรับ column ที่มีข้อมูล String
  • DoubleType สำหรับ column ที่เป็นข้อมูลตัวเลข

โดยจะมีการกำหนดค่า data type เริ่มต้นนี้กับทุก column ของข้อมูลที่โหลดขึ้นมา เช่น

initialDF = (spark.read
  .parquet(parquetFile)
  )    

inferSchema(true)

แต่ในกรณีที่เราต้องการเราสามารถสั่งให้ Apache Spark ทำการประเมิน และกำหนด data type ของข้อมูลในแต่ละ column ที่อ่านขึ้นมาได้

initialDF = (spark.read
  .option("inferSchema", "true")
  .parquet(parquetFile)
  )    

ใช้ หรือ ไม่ใช้ inferSchema ดี

ลักษณะการทำงานของ inferSchema น่าจะทำให้พวกเรากังวลเกี่ยวกับ

  • ถ้าเรามั่นใจว่า data ของเรา “สะอาด (clean)” การใช้ inferSchema จะส่งผลดีต่อการทำงานของ Spark ในการทำงานกับ data ที่โหลดขึ้นมาใน memory แล้ว
  • แต่ถ้าเราทำงานกับ Data set ขนาดใหญ่ที่ไม่มั่นใจในคุณภาพของ Data การใช้ inferSchema อาจจะส่งผลตอนอ่านข้อมูลขนาดใหญ่ดังกล่าวได้

เริ่มต้นยุค AI ด้วยคอร์สฟรี และพรีเมี่ยม กับพล

หากชอบสิ่งที่พลเล่า เรื่องที่พลสอน สามารถสนับสนุนพลโดยการเข้าเรียนคอร์สออนไลน์ของพลนะคร้าบ

  • เข้าใจง่าย ใช้ได้จริง ออกแบบการสอนอย่างเข้าใจโดยโค้ชพล
  • มีคอร์สสำหรับคนใช้งานทั่วไป จนถึงเรียนรู้เพื่อใช้งานในสายอาชีพขั้นสูง
  • ทุกคอร์สมีใบประกาศณียบัตรรับรองหลังเรียนจบ

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save