قراءة جداول Delta Lake (Synapse أو الموقع الخارجي)

هام

هذه الميزة في وضع المعاينة حاليًا. تتضمن شروط الاستخدام التكميلية لمعاينات Microsoft Azure المزيد من الشروط القانونية التي تنطبق على ميزات Azure الموجودة في الإصدار التجريبي أو قيد المعاينة أو التي لم يتم إصدارها بعد في التوفر العام. للحصول على معلومات حول هذه المعاينة المحددة، راجع معلومات معاينة Azure HDInsight على AKS. للأسئلة أو اقتراحات الميزات، يرجى إرسال طلب على AskHDInsight مع التفاصيل ومتابعتنا لمزيد من التحديثات على مجتمع Azure HDInsight.

توفر هذه المقالة نظرة عامة حول كيفية قراءة جدول Delta Lake دون الحاجة إلى أي وصول إلى metastore (Synapse أو مخازن التعريف الأخرى دون وصول عام).

يمكنك تنفيذ العمليات التالية على الجداول باستخدام Trino مع HDInsight على AKS.

  • حذف
  • تحديث
  • إدراج
  • دمج

المتطلبات الأساسية

إنشاء مخططات وجداول Delta Lake

يوضح هذا القسم كيفية إنشاء جدول Delta عبر موقع موجود مسبقا نظرا لأن لديك بالفعل كتالوج Delta Lake تم تكوينه.

  1. استعرض حساب التخزين باستخدام Storage browser في مدخل Microsoft Azure إلى حيث يوجد الدليل الأساسي للجدول. إذا كان هذا الجدول ينشأ في Synapse، فمن المحتمل أن يكون ضمن synapse/workspaces/.../warehouse/ مسار وسيتم تسميته بعد الجدول ويحتوي على _delta_log دليل. حدد Copy URL من النقاط الثلاث الموجودة بجانب المجلد.

    تحتاج إلى تحويل مسار http هذا إلى مسار ABFS (نظام ملفات Azure Blob):

    يتم تنظيم مسار http التخزين على النحو التالي: https://{{AZURE_STORAGE_ACCOUNT}}.blob.core.windows.net/{{AZURE_STORAGE_CONTAINER}}/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/

    يجب أن تبدو مسارات ABFS كما يلي: abfss://{{AZURE_STORAGE_CONTAINER}}@{{AZURE_STORAGE_ACCOUNT}}.dfs.core.windows.net/synapse/workspaces/my_workspace/warehouse/{{TABLE_NAME}}/

    مثال: abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name/

  2. إنشاء مخطط Delta Lake في Trino.

    CREATE SCHEMA delta.default;
    

    بدلا من ذلك، يمكنك أيضا إنشاء مخطط في حساب تخزين معين:

    CREATE SCHEMA delta.default WITH (location = 'abfss://container@storageaccount.dfs.core.windows.net/trino/');
    
  3. register_table استخدم الإجراء لإنشاء الجدول.

    CALL delta.system.register_table(schema_name => 'default', table_name => 'table_name', table_location => 'abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name/');
    
  4. استعلم عن الجدول للتحقق.

    SELECT * FROM delta.default.table_name
    

كتابة جداول Delta Lake في Synapse Spark

استخدم format("delta") لحفظ إطار بيانات كجدول دلتا، ثم يمكنك استخدام المسار حيث قمت بحفظ إطار البيانات بتنسيق دلتا لتسجيل الجدول في Trino.

my_dataframe.write.format("delta").save("abfss://container@storageaccount.dfs.core.windows.net/synapse/workspaces/workspace_name/warehouse/table_name")

الخطوات التالية

كيفية تكوين التخزين المؤقت في Trino