قراءة جداول Delta Lake (Synapse أو الموقع الخارجي)
إشعار
سنتقاعد Azure HDInsight على AKS في 31 يناير 2025. قبل 31 يناير 2025، ستحتاج إلى ترحيل أحمال العمل الخاصة بك إلى Microsoft Fabric أو منتج Azure مكافئ لتجنب الإنهاء المفاجئ لأحمال العمل الخاصة بك. سيتم إيقاف المجموعات المتبقية على اشتراكك وإزالتها من المضيف.
هام
هذه الميزة في وضع المعاينة حاليًا. تتضمن شروط الاستخدام التكميلية لمعاينات Microsoft Azure المزيد من الشروط القانونية التي تنطبق على ميزات Azure الموجودة في الإصدار التجريبي أو قيد المعاينة أو التي لم يتم إصدارها بعد في التوفر العام. للحصول على معلومات حول هذه المعاينة المحددة، راجع معلومات معاينة Azure HDInsight على AKS. للأسئلة أو اقتراحات الميزات، يرجى إرسال طلب على AskHDInsight مع التفاصيل ومتابعتنا لمزيد من التحديثات على مجتمع Azure HDInsight.
توفر هذه المقالة نظرة عامة حول كيفية قراءة جدول Delta Lake دون الحاجة إلى أي وصول إلى metastore (Synapse أو مخازن التعريف الأخرى دون وصول عام).
يمكنك تنفيذ العمليات التالية على الجداول باستخدام Trino مع HDInsight على AKS.
- حذف
- تحديث
- إدراج
- دمج
المتطلبات الأساسية
- تكوين كتالوج Delta Lake.
إنشاء مخططات وجداول Delta Lake
يوضح هذا القسم كيفية إنشاء جدول Delta عبر موقع موجود مسبقا نظرا لأن لديك بالفعل كتالوج Delta Lake تم تكوينه.
استعرض حساب التخزين باستخدام
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/
إنشاء مخطط Delta Lake في Trino.
CREATE SCHEMA delta.default;
بدلا من ذلك، يمكنك أيضا إنشاء مخطط في حساب تخزين معين:
CREATE SCHEMA delta.default WITH (location = 'abfss://container@storageaccount.dfs.core.windows.net/trino/');
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/');
استعلم عن الجدول للتحقق.
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")