แชร์ผ่าน


รวมแค็ตตาล็อก Unity Databricks เข้ากับ OneLake

สถานการณ์นี้แสดงวิธีการรวมตาราง Delta ภายนอกของแค็ตตาล็อก Unity ไปยัง OneLake โดยใช้ทางลัด หลังจากจบบทช่วยสอนนี้แล้ว คุณจะสามารถซิงค์ตาราง Unity Catalog ภายนอก Delta ของคุณไปยัง Microsoft Fabric lakehouse ได้โดยอัตโนมัติ

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

ก่อนที่คุณจะเชื่อมต่อ คุณต้องมี:

  • พื้นที่ทํางานของ Fabric
  • ทะเลสาบ Fabric ในพื้นที่ทํางานของคุณ
  • ตาราง ส่วนที่แตกต่างของแค็ตตาล็อก Unity ภายนอกที่สร้างขึ้นภายในพื้นที่ทํางาน Azure Databricks ของคุณ

ตั้งค่าการเชื่อมต่อกับที่เก็บข้อมูลบน Cloud ของคุณ

ขั้นแรก ให้ตรวจสอบตําแหน่งที่เก็บข้อมูลใน Azure Data Lake Storage รุ่น2 (ADLS Gen2) ตาราง Unity Catalog ของคุณกําลังใช้อยู่ การเชื่อมต่อที่เก็บข้อมูลบน Cloud นี้ถูกใช้โดยทางลัด OneLake เมื่อต้องสร้างการเชื่อมต่อระบบคลาวด์ไปยังตําแหน่งที่เก็บข้อมูลแค็ตตาล็อก Unity ที่เหมาะสม:

  1. สร้างการเชื่อมต่อที่เก็บข้อมูลบน Cloud ที่ใช้โดยตารางแค็ตตาล็อก Unity ของคุณ ดูวิธีการตั้งค่า การเชื่อมต่อ ADLS Gen2

  2. เมื่อคุณสร้างการเชื่อมต่อ รับ ID การเชื่อมต่อ โดยการเลือกการตั้งค่า>จัดการการเชื่อมต่อและการตั้งค่าการเชื่อมต่อเกตเวย์>>

สกรีนช็อตที่แสดง ID การเชื่อมต่อ ADLS Gen2

หมายเหตุ

การให้สิทธิ์การเข้าถึงระดับพื้นที่จัดเก็บข้อมูลโดยตรงแก่ผู้ใช้ในที่เก็บข้อมูลภายนอกใน ADLS Gen2 จะไม่มีสิทธิ์อนุญาตใด ๆ ที่ได้รับอนุญาตหรือการตรวจสอบโดย Unity Catalog การเข้าถึงโดยตรงจะข้ามการตรวจสอบ สายข้อมูล และคุณลักษณะการรักษาความปลอดภัย/การตรวจสอบอื่น ๆ ของ Unity Catalog รวมถึงการควบคุมการเข้าถึงและสิทธิ์อนุญาต คุณมีหน้าที่รับผิดชอบในการจัดการการเข้าถึงที่เก็บข้อมูลโดยตรงผ่าน ADLS Gen2 และตรวจสอบให้แน่ใจว่าผู้ใช้มีสิทธิ์ที่เหมาะสมที่ได้รับผ่าน Fabric หลีกเลี่ยงสถานการณ์ทั้งหมดที่มีการเข้าถึงเพื่อเขียนระดับการจัดเก็บโดยตรงสําหรับบักเก็ตที่จัดเก็บตาราง Databricks ที่มีการจัดการ การปรับเปลี่ยน การลบ หรือการพัฒนาวัตถุใด ๆ โดยตรงผ่านที่เก็บข้อมูล ซึ่งในตอนแรกถูกจัดการโดย Unity Catalog อาจส่งผลให้ข้อมูลเสียหายได้

เรียกใช้สมุดบันทึก

เมื่อได้รับ ID การเชื่อมต่อระบบคลาวด์ ให้รวมตารางแค็ตตาล็อก Unity ไปยัง Fabric lakehouse ดังนี้:

สกรีนช็อตที่แสดงแค็ตตาล็อก Unity ไปยังโฟลว์ทางลัด Fabric

  1. นําเข้าสมุดบันทึก การซิงค์ไปยังพื้นที่ทํางาน Fabric ของคุณ สมุดบันทึก นี้ส่งออกเมตาดาต้าของตารางแค็ตตาล็อก Unity ทั้งหมดจากแค็ตตาล็อกและ Schema ที่กําหนดในเมตาสโตร์ของคุณ

  2. กําหนดค่าพารามิเตอร์ ในเซลล์แรกของสมุดบันทึกเพื่อรวมตารางแค็ตตาล็อก Unity Databricks API การรับรองความถูกต้องผ่านโทเค็น PAT จะถูกใช้สําหรับการส่งออกตารางแค็ตตาล็อก Unity ส่วนย่อยต่อไปนี้ถูกใช้เพื่อกําหนดค่าแหล่งข้อมูล (แค็ตตาล็อก Unity) และพารามิเตอร์ปลายทาง (OneLake) ตรวจสอบให้แน่ใจว่าได้แทนที่ด้วยค่าของคุณเอง

    # Databricks workspace
    dbx_workspace = "<databricks_workspace_url>"
    dbx_token = "<pat_token>"
    # Unity Catalog
    dbx_uc_catalog = "catalog1"
    dbx_uc_schemas = '["schema1", "schema2"]'
    
    # Fabric
    fab_workspace_id = "<workspace_id>"
    fab_lakehouse_id = "<lakehouse_id>"
    fab_shortcut_connection_id = "<connection_id>"
    # If True, UC table renames and deletes will be considered
    fab_consider_dbx_uc_table_changes = True
    
  3. เรียกใช้เซลล์ ทั้งหมดของสมุดบันทึกเพื่อเริ่มซิงโครไนซ์ตาราง Delta แค็ตตาล็อก Unity ให้เป็น OneLake โดยใช้ทางลัด เมื่อสมุดบันทึกเสร็จสมบูรณ์ ทางลัดไปยังตาราง Unity Catalog Delta จะพร้อมใช้งานใน lakehouse จุดสิ้นสุดการวิเคราะห์ SQL และแบบจําลองความหมาย

กําหนดตารางเวลาสมุดบันทึก

หากคุณต้องการเรียกใช้สมุดบันทึกเป็นระยะๆ เพื่อรวมตาราง Unity Catalog Delta เข้ากับ OneLake โดยไม่ต้องซิงค์ซ้ํา/เรียกใช้ใหม่ด้วยตนเอง คุณสามารถ จัดกําหนดการสมุดบันทึก หรือใช้ กิจกรรมสมุดบันทึก ในไปป์ไลน์ภายใน Fabric Data Factory

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

สกรีนช็อตที่แสดงพารามิเตอร์กิจกรรมของสมุดบันทึก

ข้อควรพิจารณาอื่นๆ

  • สําหรับสถานการณ์การผลิต เราขอแนะนําให้ใช้ Databricks OAuth สําหรับการรับรองความถูกต้องและ Azure Key Vault เพื่อจัดการข้อมูลลับ ตัวอย่างเช่น คุณสามารถใช้ ยูทิลิตี้ข้อมูลประจําตัว MSSparkUtils เพื่อเข้าถึงข้อมูลลับชุดเก็บคีย์
  • สมุดบันทึกทํางานกับตาราง Delta ภายนอกแค็ตตาล็อก Unity หากคุณกําลังใช้ตําแหน่งที่เก็บข้อมูลบน Cloud หลายรายการสําหรับตารางแค็ตตาล็อก Unity ของคุณ เช่น ADLS Gen2 มากกว่าหนึ่งรายการ คําแนะนําคือการเรียกใช้สมุดบันทึกแยกต่างหากโดยการเชื่อมต่อระบบคลาวด์แต่ละรายการ
  • Unity Catalog จัดการตาราง Delta มุมมอง มุมมองที่เป็นรูปธรรม ตารางการสตรีม และตารางที่ไม่ใช่ Delta จะไม่ได้รับการสนับสนุน
  • การเปลี่ยนแปลง Schema ของตารางแค็ตตาล็อก Unity เช่น เพิ่ม/ลบคอลัมน์จะมีผลโดยอัตโนมัติในทางลัด อย่างไรก็ตาม การอัปเดตบางอย่างเช่น การเปลี่ยนชื่อและการลบตารางแค็ตตาล็อก Unity จําเป็นต้องมีการ resync / rerun สมุดบันทึกใหม่ ซึ่งจะพิจารณาโดย fab_consider_dbx_uc_table_changes พารามิเตอร์
  • สําหรับการเขียนสถานการณ์การใช้เลเยอร์ที่เก็บข้อมูลเดียวกันในกลไกการคํานวณที่แตกต่างกันอาจส่งผลให้เกิดผลกระทบที่ไม่ได้ตั้งใจ ตรวจสอบให้แน่ใจว่าได้เข้าใจความหมายเมื่อใช้กลไกการคํานวณ Apache Spark และเวอร์ชันรันไทม์ที่แตกต่างกัน