อะไรคือ autotune สําหรับการกําหนดค่า Apache Spark ใน Fabric?
Autotune ปรับการกําหนดค่า Apache Spark โดยอัตโนมัติเพื่อเร่งความเร็วการดําเนินการของปริมาณงานและเพื่อปรับประสิทธิภาพโดยรวมให้เหมาะสมที่สุด Autotune ช่วยประหยัดเวลาและทรัพยากรเมื่อเทียบกับการปรับแต่งด้วยตนเอง ซึ่งจําเป็นต้องใช้ความพยายาม ทรัพยากร เวลา และการทดลองที่กว้างขวาง Autotune ใช้ข้อมูลการดําเนินการในอดีตจากปริมาณงานของคุณเพื่อค้นหาซ้ํา ๆ และใช้การกําหนดค่าที่มีประสิทธิภาพที่สุดสําหรับปริมาณงานที่เฉพาะเจาะจง
หมายเหตุ
คุณลักษณะการปรับแต่งคิวรี autotune ใน Microsoft Fabric กําลังอยู่ในช่วงตัวอย่าง Autotune จะพร้อมใช้งานในทุกภูมิภาคการผลิต แต่จะถูกปิดใช้งานตามค่าเริ่มต้น คุณสามารถเปิดใช้งานผ่านการตั้งค่าการกําหนดค่า Spark ภายในสภาพแวดล้อม หรือภายในเซสชันเดียวโดยรวมการตั้งค่า Spark ที่เกี่ยวข้องในสมุดบันทึก Spark หรือรหัสข้อกําหนดงาน Spark ของคุณ
การปรับแต่งคิวรี่
Autotune กําหนดค่าการตั้งค่า Apache Spark สามรายการสําหรับคิวรีแต่ละรายการของคุณแยกต่างหาก:
spark.sql.shuffle.partitions
- ตั้งค่าจํานวนพาร์ติชันสําหรับการสลับข้อมูลในระหว่างการรวมหรือการรวม ค่าเริ่มต้นคือ 200spark.sql.autoBroadcastJoinThreshold
- ตั้งค่าขนาดตารางสูงสุดเป็นไบต์ที่กระจายไปยังโหนดผู้ปฏิบัติงานทั้งหมดเมื่อมีการดําเนินการรวม ค่าเริ่มต้นคือ 10 MBspark.sql.files.maxPartitionBytes
- กําหนดจํานวนไบต์สูงสุดที่จะแพ็คลงในพาร์ติชันเดียวเมื่ออ่านไฟล์ ใช้ได้กับแหล่งที่มาของไฟล์ Parquet, JSON และ ORC ค่าเริ่มต้นคือ 128 MB
เคล็ดลับ
การปรับแต่งคิวรี Autotune จะตรวจสอบคิวรีแต่ละรายการและสร้างแบบจําลอง ML ที่แตกต่างกันสําหรับแต่ละคิวรี ซึ่งเป้าหมายเฉพาะ:
- คิวรีที่ซ้ํา
- คิวรีที่ทํางานนาน (ที่มีการดําเนินการมากกว่า 15 วินาที)
- คิวรี Apache Spark SQL API (ยกเว้นคิวรีที่เขียนใน RDD API ซึ่งหาได้ยากมาก) แต่เราปรับคิวรีทั้งหมดให้เหมาะสมโดยไม่คํานึงถึงภาษา (สเกลา PySpark, R, Spark SQL)
คุณลักษณะนี้เข้ากันได้กับสมุดบันทึก ข้อกําหนดงาน Apache Spark และไปป์ไลน์ ประโยชน์จะแตกต่างกันไปตามความซับซ้อนของคิวรี วิธีการที่ใช้ และโครงสร้าง การทดสอบที่ครอบคลุมได้แสดงให้เห็นว่าข้อได้เปรียบที่ยิ่งใหญ่ที่สุดจะตระหนักถึงคิวรีที่เกี่ยวข้องกับการวิเคราะห์ข้อมูลการสํารวจเช่นการอ่านข้อมูลการเรียกใช้การรวมการรวมและการเรียงลําดับ
การหยวนที่ยึดตาม AI เบื้องหลัง Autotune
คุณลักษณะ autotune ใช้กระบวนการวนซ้ําเพื่อปรับประสิทธิภาพของคิวรีให้เหมาะสม ซึ่งเริ่มต้นด้วยการกําหนดค่าเริ่มต้นและใช้แบบจําลองการเรียนรู้ของเครื่องเพื่อประเมินประสิทธิภาพ เมื่อผู้ใช้ส่งคิวรี ระบบจะดึงข้อมูลแบบจําลองที่จัดเก็บไว้ตามการโต้ตอบก่อนหน้านี้ ซึ่งสร้างการกําหนดค่าที่เป็นไปได้รอบการตั้งค่าเริ่มต้นที่ชื่อว่า centroid ผู้สมัครที่ดีที่สุดที่ทํานายโดยแบบจําลองจะถูกนําไปใช้ หลังจากการดําเนินการคิวรี ข้อมูลประสิทธิภาพการทํางานจะถูกส่งกลับไปยังระบบเพื่อปรับปรุงแบบจําลอง
รอบคําติชมจะค่อยๆ เลื่อนเซนทรอยด์ไปยังการตั้งค่าที่เหมาะสมที่สุด ซึ่งปรับปรุงประสิทธิภาพการทํางานเมื่อเวลาผ่านไปเพื่อลดความเสี่ยงของการถดถอย การอัปเดตอย่างต่อเนื่องตามคิวรีของผู้ใช้ช่วยให้สามารถปรับปรุงเกณฑ์มาตรฐานประสิทธิภาพการทํางาน นอกจากนี้ กระบวนการจะอัปเดต การกําหนดค่าเซนทรอยด์ เพื่อให้แน่ใจว่าแบบจําลองย้ายไปยังการตั้งค่าที่มีประสิทธิภาพมากขึ้นแบบเพิ่มหน่วย ซึ่งสามารถทําได้โดยการประเมินประสิทธิภาพในอดีตและใช้เพื่อเป็นแนวทางในการปรับในอนาคต ซึ่งใช้จุดข้อมูลทั้งหมดเพื่อลดผลกระทบของสิ่งผิดปกติ
จากมุมมอง AI ที่รับผิดชอบ คุณลักษณะ Autotune ประกอบด้วยกลไกความโปร่งใสที่ออกแบบมาเพื่อแจ้งให้คุณทราบเกี่ยวกับการใช้งานและประโยชน์ของข้อมูลของคุณ ความปลอดภัยและความเป็นส่วนตัวสอดคล้องกับมาตรฐานของ Microsoft การตรวจสอบอย่างต่อเนื่องจะรักษาประสิทธิภาพและการทํางานของระบบหลังการเปิดใช้
เปิดใช้งานการแสดงอัตโนมัติ
Autotune จะพร้อมใช้งานในทุกภูมิภาคการผลิต แต่ จะถูกปิดใช้งานตามค่าเริ่มต้น คุณสามารถเปิดใช้งานผ่านการตั้งค่าการกําหนดค่า Spark ภายในสภาพแวดล้อมได้ เมื่อต้องการเปิดใช้งาน Autotune ให้สร้างสภาพแวดล้อมใหม่หรือตั้งค่าคุณสมบัติ Spark 'spark.ms.autotune.enabled = true' ตามที่แสดงในสกรีนช็อตด้านล่าง การตั้งค่านี้จะถูกสืบทอดโดยสมุดบันทึกและงานทั้งหมดที่ทํางานในสภาพแวดล้อมนั้น ซึ่งจะปรับให้เป็นแบบอัตโนมัติ
Autotune มีกลไกในตัวสําหรับการตรวจสอบประสิทธิภาพการทํางานและการตรวจหาการถดถอยของประสิทธิภาพการทํางาน ตัวอย่างเช่น ถ้าคิวรีประมวลผลข้อมูลจํานวนมากผิดปกติ Autotune จะปิดใช้งานโดยอัตโนมัติ โดยทั่วไปแล้วจะต้องมีการวนซ้ํา 20 ถึง 25 ครั้งเพื่อเรียนรู้และระบุการกําหนดค่าที่เหมาะสมที่สุด
หมายเหตุ
Autotune เข้ากันได้กับ Fabric Runtime 1.1 และรันไทม์ 1.2 Autotune จะไม่ทํางานเมื่อ โหมด การทํางานพร้อมกันสูงหรือเมื่อ เปิดใช้งานจุด สิ้นสุดส่วนตัว อย่างไรก็ตาม autotune รวมกับการปรับขนาดอัตโนมัติอย่างราบรื่นโดยไม่คํานึงถึงการกําหนดค่า
คุณสามารถเปิดใช้งานการเรียกใช้อัตโนมัติภายในเซสชันเดียวได้ รวมถึงการตั้งค่า Spark ที่เกี่ยวข้องในสมุดบันทึก Spark หรือรหัส Spark Job Definition ของคุณ
%%sql
SET spark.ms.autotune.enabled=TRUE
คุณสามารถควบคุม Autotune ผ่านการตั้งค่า Spark สําหรับสมุดบันทึก Spark หรือรหัสข้อกําหนดงาน Spark ที่เกี่ยวข้องของคุณ เมื่อต้องการปิดใช้งาน Autotune ให้ดําเนินการคําสั่งต่อไปนี้เป็นเซลล์แรก (สมุดบันทึก) หรือบรรทัดของรหัส (SJD)
%%sql
SET spark.ms.autotune.enabled=FALSE
กรณีศึกษา
เมื่อดําเนินการคิวรี Apache Spark autotune จะสร้างแบบจําลอง ML ที่กําหนดเองเฉพาะเพื่อปรับการดําเนินการของคิวรีให้เหมาะสม ซึ่งวิเคราะห์รูปแบบคิวรีและความต้องการของทรัพยากร พิจารณาคิวรีเริ่มต้นเพื่อกรองชุดข้อมูลตามแอตทริบิวต์เฉพาะ เช่น ประเทศ ในขณะที่ตัวอย่างนี้ใช้การกรองทางภูมิศาสตร์ หลักการจะนําไปใช้กับแอตทริบิวต์หรือการดําเนินการใด ๆ ภายในคิวรีโดยสากล:
%%pyspark
df.filter(df.country == "country-A")
Autotune จะเรียนรู้จากคิวรีนี้ โดยปรับการดําเนินการในภายหลังให้เหมาะสม เมื่อคิวรี่เปลี่ยนแปลง เช่น โดยการเปลี่ยนค่าตัวกรองหรือใช้การแปลงข้อมูลที่แตกต่างกัน สาระสําคัญเชิงโครงสร้างของคิวรีมักจะสอดคล้องกัน:
%%pyspark
df.filter(df.country == "country-B")
แม้ว่าจะมีการเปลี่ยนแปลง การปรับแต่งอัตโนมัติระบุโครงสร้างพื้นฐานของคิวรีใหม่ ซึ่งดําเนินการปรับให้เหมาะสมที่ได้เรียนรู้ก่อนหน้านี้ ความสามารถนี้ช่วยให้มั่นใจได้ว่ามีประสิทธิภาพสูงอย่างยั่งยืนโดยไม่จําเป็นต้องมีการกําหนดค่าใหม่ด้วยตนเองสําหรับการทําซ้ําคิวรีใหม่แต่ละครั้ง
บันทึก
สําหรับแต่ละคิวรีของคุณ autotune จะกําหนดการตั้งค่าที่เหมาะสมที่สุดสําหรับการกําหนดค่า Spark สามรายการ คุณสามารถดูการตั้งค่าที่แนะนําได้โดยการนําทางไปยังบันทึก การกําหนดค่าที่แนะนําโดยการเรียกใช้อัตโนมัติจะอยู่ในบันทึกโปรแกรมควบคุม โดยเฉพาะรายการเหล่านั้นที่ขึ้นต้นด้วย [Autotune]
คุณสามารถค้นหาชนิดของรายการต่าง ๆ ในบันทึกของคุณ ต่อไปนี้รวมถึงคีย์:
สถานภาพ | คำอธิบาย |
---|---|
AUTOTUNE_DISABLED | ข้าม Autotune ถูกปิดใช้งาน เนื่องจากการตั้งค่านี้ใช้ไม่ได้ การป้องกันการค้นคืนและการปรับคิวรีให้เหมาะสม เปิดใช้งาน Autotune เพื่อใช้ความสามารถอย่างเต็มที่ในขณะที่คํานึงถึงความเป็นส่วนตัวของลูกค้า" |
QUERY_TUNING_DISABLED | ข้าม ปิดใช้งานการปรับแต่งคิวรี Autotune เปิดใช้งานเพื่อปรับการตั้งค่าสําหรับคิวรี Spark SQL ของคุณอย่างละเอียด |
QUERY_PATTERN_NOT_MATCH | ข้าม รูปแบบแบบสอบถามไม่ตรงกัน Autotune จะมีผลสําหรับคิวรีแบบอ่านอย่างเดียว |
QUERY_DURATION_TOO_SHORT | ข้าม ระยะเวลาคิวรีของคุณสั้นเกินไปที่จะปรับให้เหมาะสม Autotune จําเป็นต้องใช้คิวรีที่ยาวขึ้นสําหรับการปรับแต่งที่มีประสิทธิภาพ คิวรีควรทํางานเป็นเวลาอย่างน้อย 15 วินาที |
QUERY_TUNING_SUCCEED | สำเร็จ การปรับแต่งคิวรีเสร็จสมบูรณ์ ใช้การตั้งค่าสปาร์คที่เหมาะสม |
หมายเหตุความโปร่งใส
เพื่อปฏิบัติตามมาตรฐาน AI ที่รับผิดชอบ ส่วนนี้มีจุดมุ่งหมายเพื่อชี้แจงการใช้งานและการตรวจสอบคุณสมบัติ Autotune ส่งเสริมความโปร่งใสและเปิดใช้งานการตัดสินใจที่มีข้อมูล
วัตถุประสงค์ของ Autotune
Autotune ได้รับการพัฒนาเพื่อเพิ่มประสิทธิภาพของปริมาณงาน Apache Spark สําหรับผู้เชี่ยวชาญด้านข้อมูลเป็นหลัก ฟังก์ชั่นที่สําคัญได้แก่:
- การปรับการกําหนดค่า Apache Spark แบบอัตโนมัติเพื่อลดเวลาในการดําเนินการ
- ลดความพยายามในการปรับแต่งด้วยตนเอง
- ใช้ข้อมูลปริมาณงานในอดีตเพื่อปรับแต่งการกําหนดค่าซ้ํา ๆ
การตรวจสอบ Autotune
Autotune ได้รับการทดสอบอย่างครอบคลุมเพื่อให้มั่นใจถึงประสิทธิภาพและความปลอดภัย:
- การทดสอบที่เข้มงวดด้วยปริมาณงาน Spark ที่หลากหลายเพื่อตรวจสอบประสิทธิภาพของอัลกอริทึมการปรับแต่ง
- การเปรียบเทียบวิธีการเพิ่มประสิทธิภาพ Spark มาตรฐานเพื่อแสดงให้เห็นถึงประโยชน์ด้านประสิทธิภาพ
- กรณีศึกษาในโลกแห่งความจริงที่เน้นคุณค่าในทางปฏิบัติของ Autotune
- ยึดถือมาตรฐานความปลอดภัยและความเป็นส่วนตัวที่เข้มงวดเพื่อปกป้องข้อมูลของผู้ใช้
ข้อมูลผู้ใช้ถูกใช้เพื่อปรับปรุงประสิทธิภาพการทํางานของปริมาณงานของคุณโดยเฉพาะด้วยการป้องกันที่แข็งแกร่งเพื่อป้องกันการใช้งานในทางที่ผิดหรือการเปิดเผยข้อมูลที่มีความละเอียดอ่อน