รีเฟรชกิจกรรมปลายทางวิเคราะห์ SQL

กิจกรรม Refresh SQL analytics endpoint ใน pipelines ของ Microsoft Fabric ช่วยให้คุณรีเฟรช Lakehouse SQL analytics endpoint แบบโปรแกรมเป็นส่วนหนึ่งของเวิร์กโฟลว์ที่จัดเรียงไว้ เป็นส่วนหนึ่งของ Lakehouse Utility Suite สําหรับไปป์ไลน์ และโดยทั่วไปจะใช้หลังจาก กิจกรรมการบํารุงรักษา Lakehouse (ตัวอย่างเช่น หลังจากการดําเนินการ OPTIMIZE หรือ VACUUM ผู้บริโภคดาวน์สตรีม เช่น รายงาน Power BI สมุดบันทึก หรือไคลเอ็นต์ SQL ภายนอก จากนั้นจะดูข้อมูลล่าสุดหลังจากขั้นตอนการเตรียมข้อมูลหรือการบํารุงรักษาเสร็จสมบูรณ์

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

  • อัปเดตหรือรักษาข้อมูล Lakehouse (ตัวอย่างเช่น หลังจากคัดลอกงาน การดําเนินการสมุดบันทึก หรือกิจกรรมการบํารุงรักษา Lakehouse)
  • ต้องการให้ Lakehouse SQL analytics endpoint สะท้อนเมตาดาต้าและการเปลี่ยนแปลงข้อมูลล่าสุด
  • ต้องการเวลาการรีเฟรชที่กําหนดก่อนขั้นตอนดาวน์สตรีม เช่น การรายงาน การวิเคราะห์ หรือการส่งออก

ข้อกำหนดเบื้องต้น

ก่อนใช้กิจกรรมนี้ โปรดตรวจสอบว่า

เพิ่มกิจกรรม endpoint วิเคราะห์ SQL แบบรีเฟรชลงใน pipeline ของคุณใน UI

  1. สร้างไปป์ไลน์ใหม่ ในพื้นที่ทํางานของคุณ

  2. ค้นหา Refresh SQL analytics endpoint ในบานหน้าต่าง กิจกรรม ของท่อส่ง และเลือกเพื่อเพิ่มลงในแคนวาสของท่อส่ง

    ภาพหน้าจอของกิจกรรม SQL analytics ที่รีเฟรชในบานหน้าต่างกิจกรรม

  3. เลือกกิจกรรม Refresh SQL analytics endpoint ใหม่บนแคนวาส หากยังไม่ได้เลือก

    ภาพหน้าจอกิจกรรม SQL analytics endpoint ที่รีเฟรชบนผืนผ้าใบ pipeline

    Tip

    คุณสามารถประสานกิจกรรมนี้ควบคู่ไปกับกิจกรรม Lakehouse Utility Suite อื่นๆ เช่น กิจกรรมการบํารุงรักษา Lakehouse ในไปป์ไลน์เดียวกัน เพื่อให้การบํารุงรักษาและการรีเฟรชทํางานตามลําดับ

  4. โปรดดูคําแนะนําการตั้งค่าทั่วไปเพื่อกําหนดค่าแท็บ การตั้งค่าทั่วไป

รีเฟรชการตั้งค่ากิจกรรมปลายทางการวิเคราะห์ SQL

  1. เลือกแท็บ การตั้งค่า เพื่อกําหนดค่ากิจกรรม  

  2. กําหนดค่าการเชื่อมต่อโดยเลือกการเชื่อมต่อที่มีอยู่จากดรอปดาวน์ การเชื่อมต่อ หรือสร้างการเชื่อมต่อใหม่ และระบุรายละเอียดการกําหนดค่า

  3. ระบุ พื้นที่ทํางาน ที่มีเลคเฮาส์

  4. ระบุจุดสิ้นสุดการวิเคราะห์ SQL เป็น รหัสจุดสิ้นสุดการวิเคราะห์ SQL สําหรับ Lakehouse ที่คุณต้องการรีเฟรช การรีเฟรชจะอัปเดตเมตาดาต้าของปลายทางการวิเคราะห์ SQL ของ Lakehouse ให้สะท้อนการเปลี่ยนแปลงข้อมูลและสคีมาล่าสุด

    ภาพหน้าจอของการตั้งค่ากิจกรรม SQL analytics ที่รีเฟรช ซึ่งคุณระบุ SQL analytics

พฤติกรรมกิจกรรม

เมื่อการเรียกใช้กิจกรรมเสร็จสิ้น

  • หากป๊อปอัปเอาต์พุตแสดงสถานะ สําเร็จ แสดงว่าคําขอซิงค์ข้อมูลที่ไม่ได้ซิงค์สําเร็จ

    สกรีนช็อตของสถานะ ความสําเร็จ ในป๊อปอัปผลลัพธ์ของกิจกรรม

  • สถานะ NotRun ในป๊อปอัพ Output หมายความว่าการรีเฟรชของปลายทางวิเคราะห์ SQL ไม่ได้ทํางาน เงื่อนไขนั้นมักจะหมายความว่าคุณไม่ได้เพิ่มข้อมูลใหม่ตั้งแต่การซิงค์ครั้งล่าสุด คุณจึงไม่จําเป็นต้องเรียกใช้

    สกรีนช็อตของสถานะ NotRun ในป๊อปอัปเอาต์พุตกิจกรรม

  • หากป๊อปอัปเอาต์พุตแสดงสถานะ ความล้มเหลว แสดงว่ามีบางอย่างผิดพลาด

Note

การเรียกใช้กิจกรรมจะตั้งค่าสถานะเหล่านี้ในป๊อปอัปเอาต์พุต อย่าสับสนระหว่างสถานะเหล่านี้กับสถานะกิจกรรมเอง

สถานการณ์ทั่วไป

  • รีเฟรชปลายทางวิเคราะห์ SQL หลังจากที่ Notebook เขียนข้อมูลที่แปลงแล้วไปยัง Lakehouse
  • ทริกเกอร์การรีเฟรชจุดสิ้นสุดการวิเคราะห์ SQL หลังจาก กิจกรรมบํารุงรักษา Lakehouse (OPTIMIZE หรือ VACUUM) เสร็จสิ้น
  • เพื่อให้แน่ใจว่ารายงานและแดชบอร์ดจะสอบถามสถานะล่าสุดของ Lakehouse ในจุดที่กําหนดไว้อย่างชัดเจนในกระบวนการ

ทําไมการรีเฟรชปลายทางการวิเคราะห์ SQL ของฉันจึงล้มเหลวเมื่อข้อมูลพื้นฐานถูกล็อก?

กิจกรรม Refresh SQL analytics endpoint อาจล้มเหลวเป็นระยะ ๆ เมื่อกระบวนการอื่นอัปเดตข้อมูล Lakehouse ที่อยู่เบื้องหลังอย่างจริงจัง กระบวนการเหล่านี้รวมถึงไปป์ไลน์การนําเข้า สมุดบันทึก หรือการดําเนินการเขียนพร้อมกัน

ความล้มเหลวนี้เกิดขึ้นเพราะ endpoint วิเคราะห์ SQL ต้องรับ internal lock เพื่อทําการรีเฟรชให้เสร็จสมบูรณ์ หากการดําเนินการอื่นล็อกข้อมูล คําขอจะหมดเวลาหรือส่งกลับข้อผิดพลาด

พฤติกรรมนี้เป็นไปตามที่คาดไว้ตามวิธีที่อุปกรณ์วิเคราะห์ SQL จัดการการรีเฟรชเมตาดาต้า

อาการ

  • กิจกรรมล้มเหลวเป็นระยะ ๆ ไม่สม่ําเสมอ
  • ข้อความแสดงข้อผิดพลาดบ่งชี้ถึงความขัดแย้งในการรีเฟรชหรือการแย่งชิงการล็อก
  • ท่อส่งข้อมูลที่มีกิจกรรม sequential renew SQL analytics หลายรายการจะแสดงอัตราความล้มเหลวสูงกว่า

สาเหตุที่แท้จริง

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

พฤติกรรมนี้ไม่ใช่ข้อบกพร่องในกิจกรรม refresh SQL analytics endpoint เป็นผลลัพธ์ตามธรรมชาติของการดําเนินการอ่านและเขียนพร้อมกันบนข้อมูลพื้นฐาน

แก้ไข ปัญหา

แนวทางปฏิบัติสองวิธีสามารถบรรเทาปัญหานี้ได้:

ใช้เพียงกิจกรรม Refresh SQL analytics endpoint เพียงหนึ่งกิจกรรมเมื่อสิ้นสุดการประมวลผล

เพื่อลดโอกาสที่จะเกิดความขัดแย้งในการล็อก ให้รวมไปป์ไลน์ของคุณเพื่อ:

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

กําหนดตารางรีเฟรชแบบวนซ้ํา

หากสถานการณ์ของคุณไม่ต้องการความสอดคล้องของธุรกรรมที่เข้มงวดในช่วงเวลาใดช่วงเวลาหนึ่ง ให้ใช้รูปแบบการรีเฟรชที่เกิดซ้ํา:

  • กําหนดเวลาการรีเฟรชทุกๆ 15 นาทีอย่างต่อเนื่อง บางครั้งการรีเฟรชอาจล้มเหลวเพราะล็อก แต่ก็สําเร็จพอที่จะรักษา SQL analytics ให้ทันสมัยอยู่เสมอ

ภาพหน้าจอของการกําหนดค่าตารางเวลาปลายทาง SQL analytics ที่รีเฟรชซ้ํา

แนวทางนี้ใช้งานได้จริงและมีประสิทธิภาพสําหรับปริมาณงานการวิเคราะห์จํานวนมาก

บันทึกและเรียกใช้หรือจัดกําหนดการไปป์ไลน์

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

สกรีนช็อตแสดงแท็บหน้าแรกในตัวแก้ไขไปป์ไลน์ที่มีชื่อแท็บบันทึกเรียกใช้และปุ่มกําหนดการที่เน้น

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

ปัญหาที่ทราบกันดี