เตรียมพร้อมเพื่อใช้ Apache Spark

เสร็จสมบูรณ์เมื่อ

Apache Spark เป็นเฟรมเวิร์กการประมวลผลข้อมูลที่กระจายที่ช่วยให้สามารถวิเคราะห์ข้อมูลขนาดใหญ่ได้โดยการประสานงานกับโหนดการประมวลผลหลายรายการในคลัสเตอร์ที่รู้จักกันใน Microsoft Fabric เป็นพูล Spark ใส่ให้ง่ายขึ้น Spark ใช้วิธีการ "หารและพิชิต" ในการประมวลผลข้อมูลปริมาณมากได้อย่างรวดเร็วโดยการกระจายงานข้ามคอมพิวเตอร์หลายเครื่อง กระบวนการแจกจ่ายงานและผลลัพธ์การจัดเรียงได้รับการจัดการโดย Spark

Spark สามารถเรียกใช้โค้ดที่เขียนในหลากหลายภาษา รวมถึง Java, Scala (ภาษาการเขียนสคริปต์ที่ใช้ Java), Spark R, Spark SQL และ PySpark (Python ตัวแปรเฉพาะ Spark ของ Python) ในทางปฏิบัติ ปริมาณงานวิศวกรรมและการวิเคราะห์ข้อมูลส่วนใหญ่สามารถทําได้โดยใช้ PySpark และ Spark SQL ร่วมกัน

สระว่ายน้ํา Spark

พูล Spark ประกอบด้วย โหนด การคํานวณที่แจกจ่ายงานการประมวลผลข้อมูล สถาปัตยกรรมทั่วไปจะแสดงในแผนภาพต่อไปนี้

แผนภาพของพูล Spark

ดังที่แสดงในไดอะแกรม พูล Spark มีโหนดสองชนิด:

  1. โหนดหัวในพูล Spark ประสานงานแบบกระจายกระบวนการผ่านโปรแกรมโปรแกรมควบคุม
  2. กลุ่ม ประกอบด้วยโหนด ผู้ปฏิบัติงาน หลายรายการที่ ตัวดําเนินการ ประมวลผลดําเนินงานการประมวลผลข้อมูลจริง

สระว่ายน้ํา Spark ใช้สถาปัตยกรรมการคํานวณแบบกระจายนี้เพื่อเข้าถึงและประมวลผลข้อมูลในที่เก็บข้อมูลที่เข้ากันได้ เช่น data lakehouse ที่อยู่ใน OneLake

สระว่ายน้ํา Spark ใน Microsoft Fabric

Microsoft Fabric มี พูลเริ่มต้น ในแต่ละพื้นที่ทํางาน ทําให้งาน Spark สามารถเริ่มต้นและเรียกใช้งานได้อย่างรวดเร็วด้วยการตั้งค่าและการกําหนดค่าที่น้อยที่สุด คุณสามารถกําหนดค่ากลุ่มเริ่มต้นเพื่อปรับโหนดที่ประกอบด้วยให้สอดคล้องกับความต้องการปริมาณงานเฉพาะของคุณหรือข้อจํากัดค่าใช้จ่าย

นอกจากนี้ คุณสามารถสร้างกลุ่ม Spark แบบกําหนดเองด้วยการกําหนดค่าโหนดเฉพาะที่สนับสนุนความต้องการการประมวลผลข้อมูลเฉพาะของคุณ

หมายเหตุ

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

คุณสามารถจัดการการตั้งค่าสําหรับพูลเริ่มต้น และสร้างพูล Spark ใหม่ในส่วน พอร์ทัลผู้ดูแลระบบ ของการตั้งค่าพื้นที่ทํางาน ภายใต้ การตั้งค่าความจุ จากนั้น การตั้งค่าวิศวกรรม/วิทยาศาสตร์ข้อมูล

สกรีนช็อตของหน้าการตั้งค่า Spark ใน Microsoft Fabric

การตั้งค่าการกําหนดค่าเฉพาะสําหรับพูล Spark ประกอบด้วย:

  • Node Family: ชนิดของเครื่องเสมือนที่ใช้สําหรับโหนดคลัสเตอร์ Spark ในกรณีส่วนใหญ่ โหนด ที่ปรับหน่วยความจําให้เหมาะสม จะมีประสิทธิภาพสูงสุด
  • การปรับขนาดอัตโนมัติ: กําหนดว่าจะจัดสรรโหนดโดยอัตโนมัติตามความจําเป็นหรือไม่ และถ้าเป็นเช่นนั้น จํานวนโหนดเริ่มต้นและสูงสุดที่จะจัดสรรให้กับกลุ่ม
  • การจัดสรรแบบไดนามิก: การจัดสรรกระบวนการ ของผู้ดําเนินการ แบบไดนามิกบนโหนดผู้ปฏิบัติงานตามไดรฟ์ข้อมูลหรือไม่

ถ้าคุณสร้างกลุ่ม Spark แบบกําหนดเองอย่างน้อยหนึ่งกลุ่มในพื้นที่ทํางาน คุณสามารถตั้งค่าหนึ่งในนั้น (หรือกลุ่มเริ่มต้น) เป็นกลุ่มเริ่มต้นที่จะใช้ถ้าไม่ได้ระบุกลุ่มเฉพาะสําหรับงาน Spark ที่กําหนด

เคล็ดลับ

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการจัดการพูล Spark ใน Microsoft Fabric ดู ที่กําหนดค่ากลุ่มเริ่มต้นใน Microsoft Fabric และ วิธีการสร้างพูล Spark แบบกําหนดเองใน Microsoft Fabric ในเอกสารประกอบของ Microsoft Fabric

รันไทม์และสภาพแวดล้อม

ระบบนิเวศของ Spark แบบโอเพนซอร์สมี รันไทม์ Spark หลายเวอร์ชันซึ่งจะกําหนดเวอร์ชันของ Apache Spark, Delta Lake, Python และคอมโพเนนต์ซอฟต์แวร์หลักอื่น ๆ ที่ติดตั้งไว้ นอกจากนี้ ภายในรันไทม์ คุณสามารถติดตั้งและใช้ไลบรารีโค้ดจํานวนมากสําหรับงานทั่วไป (และในบางครั้งพิเศษ) ได้ เนื่องจากการประมวลผล Spark ที่ยอดเยี่ยมจะดําเนินการโดยใช้ PySpark ไลบรารี Python ที่หลากหลายจึงช่วยให้แน่ใจว่างานที่คุณต้องการดําเนินการนั้นอาจมีไลบรารีเพื่อช่วยได้

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

รันไทม์ Spark ใน Microsoft Fabric

Microsoft Fabric สนับสนุนรันไทม์ Spark หลายแบบ และจะยังคงเพิ่มการสนับสนุนสําหรับรันไทม์ใหม่เมื่อมีการเผยแพร่ คุณสามารถใช้อินเทอร์เฟซการตั้งค่าพื้นที่ทํางานเพื่อระบุรันไทม์ Spark ที่ใช้โดยสภาพแวดล้อมเริ่มต้นเมื่อเริ่มพูล Spark

เคล็ดลับ

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับรันไทม์ Spark ใน Microsoft Fabric โปรดดู ที่ Apache Spark Runtimes ใน Fabric ในเอกสารประกอบของ Microsoft Fabric

สภาพแวดล้อมใน Microsoft Fabric

คุณสามารถสร้างสภาพแวดล้อมแบบกําหนดเองในพื้นที่ทํางาน Fabric ซึ่งช่วยให้คุณสามารถใช้รันไทม์ ไลบรารี และการตั้งค่าการกําหนดค่าสําหรับการดําเนินการประมวลผลข้อมูลที่แตกต่างกัน

สกรีนช็อตของหน้าสภาพแวดล้อมใน Microsoft Fabric

เมื่อสร้างสภาพแวดล้อม คุณสามารถ:

  • ระบุรันไทม์ Spark ที่ควรใช้
  • ดูไลบรารีที่มีอยู่ภายในที่ถูกติดตั้งในทุกสภาพแวดล้อม
  • ติดตั้งไลบรารีสาธารณะเฉพาะจาก Python Package Index (PyPI)
  • ติดตั้งไลบรารีแบบกําหนดเองโดยการอัปโหลดไฟล์แพคเกจ
  • ระบุพูล Spark ที่สภาพแวดล้อมควรใช้
  • ระบุคุณสมบัติการกําหนดค่า Spark เพื่อแทนที่ลักษณะการทํางานเริ่มต้น
  • อัปโหลดไฟล์ทรัพยากรที่จําเป็นต้องมีในสภาพแวดล้อม

หลังจากสร้างสภาพแวดล้อมแบบกําหนดเองอย่างน้อยหนึ่งสภาพแวดล้อม คุณสามารถระบุสภาพแวดล้อมดังกล่าวเป็นสภาพแวดล้อมเริ่มต้นในการตั้งค่าพื้นที่ทํางาน

เคล็ดลับ

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้สภาพแวดล้อมแบบกําหนดเองใน Microsoft Fabric ดู สร้าง กําหนดค่า และใช้สภาพแวดล้อมใน Microsoft Fabric ในเอกสารประกอบของ Microsoft Fabric

ตัวเลือกการกําหนดค่า Spark เพิ่มเติม

การจัดการพูล Spark และสภาพแวดล้อมเป็นวิธีหลักที่คุณสามารถจัดการการประมวลผล Spark ในพื้นที่ทํางาน Fabric อย่างไรก็ตาม มีตัวเลือกเพิ่มเติมบางอย่างที่คุณสามารถใช้เพื่อปรับให้เหมาะสมเพิ่มเติม

กลไกการดําเนินการแบบดั้งเดิม

กลไกการดําเนินการแบบดั้งเดิมใน Microsoft Fabric เป็นเครื่องมือการประมวลผลแบบเวกเตอร์ที่เรียกใช้การดําเนินการ Spark โดยตรงบนโครงสร้างพื้นฐานของเลคเฮ้าส์ การใช้กลไกการดําเนินการแบบดั้งเดิมสามารถปรับปรุงประสิทธิภาพการทํางานของคิวรีได้อย่างมากเมื่อทํางานกับชุดข้อมูลขนาดใหญ่ในรูปแบบไฟล์ Parquet หรือ Delta

เมื่อต้องการใช้กลไกการดําเนินการแบบดั้งเดิม คุณสามารถเปิดใช้งานได้ในระดับสภาพแวดล้อมหรือภายในสมุดบันทึกแต่ละรายการได้ เมื่อต้องการเปิดใช้งานกลไกการดําเนินการดั้งเดิมในระดับสภาพแวดล้อม ให้ตั้งค่าคุณสมบัติ Spark ต่อไปนี้ในการกําหนดค่าสภาพแวดล้อม:

  • spark.native.enabled: จริง
  • spark.shuffle.manager: org.apache.spark.shuffle.sort.ColumnarShuffleManager

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

%%configure 
{ 
   "conf": {
       "spark.native.enabled": "true", 
       "spark.shuffle.manager": "org.apache.spark.shuffle.sort.ColumnarShuffleManager" 
   } 
}

เคล็ดลับ

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับกลไกจัดการการดําเนินการแบบดั้งเดิม ดู กลไกการดําเนินการแบบดั้งเดิมสําหรับ Fabric Spark ในเอกสารประกอบของ Microsoft Fabric

โหมดการทํางานพร้อมกันสูง

เมื่อคุณเรียกใช้รหัส Spark ใน Microsoft Fabric เซสชัน Spark จะเริ่มต้น คุณสามารถเพิ่มประสิทธิภาพของการใช้ทรัพยากร Spark โดยใช้ โหมดการทํางานพร้อมกันสูง เพื่อแชร์เซสชัน Spark ในผู้ใช้หรือกระบวนการพร้อมกันหลายราย สมุดบันทึกใช้เซสชัน Spark สําหรับการดําเนินการ เมื่อเปิดใช้งานโหมดการทํางานพร้อมกันสูง ผู้ใช้หลายคนสามารถตัวอย่างเช่น เรียกใช้โค้ดในสมุดบันทึกที่ใช้เซสชัน Spark เดียวกัน ในขณะที่ตรวจสอบให้แน่ใจการแยกรหัสเพื่อหลีกเลี่ยงตัวแปรในสมุดบันทึกหนึ่งที่ได้รับผลกระทบจากโค้ดในสมุดบันทึกอื่น คุณยังสามารถเปิดใช้งานโหมดภาวะพร้อมกันสูงสําหรับงาน Spark ซึ่งเปิดใช้งานประสิทธิภาพที่คล้ายกันสําหรับการดําเนินการสคริปต์ Spark แบบไม่โต้ตอบพร้อมกัน

หากต้องการเปิดใช้งานโหมดการทํางานพร้อมกันสูง ให้ใช้ส่วน วิศวกรรม/วิทยาศาสตร์ข้อมูล ของส่วนการตั้งค่าพื้นที่ทํางาน

เคล็ดลับ

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับโหมดภาวะพร้อมกันสูง ดู โหมดการทํางานพร้อมกันสูงใน Apache Spark สําหรับ Fabric ในเอกสารประกอบของ Microsoft Fabric

การบันทึก MLFlow อัตโนมัติ

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

การดูแลระบบ Spark สําหรับความจุ Fabric

ผู้ดูแลระบบสามารถจัดการการตั้งค่า Spark ที่ระดับความจุ Fabric ทําให้สามารถจํากัดและแทนที่การตั้งค่า Spark ในพื้นที่ทํางานภายในองค์กรได้

เคล็ดลับ

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการจัดการการกําหนดค่า Spark ที่ระดับความจุ Fabric โปรดดู ที่ กําหนดค่าและจัดการการตั้งค่าวิศวกรรมข้อมูลและวิทยาศาสตร์ข้อมูลสําหรับความจุ Fabric ในเอกสารประกอบของ Microsoft Fabric