إلحاق البيانات من Azure Data Lake Storage Gen2
توضح هذه المقالة كيفية إلحاق البيانات إلى مساحة عمل Azure Databricks جديدة من Azure Data Lake Storage Gen2. ستتعلم كيفية الوصول بأمان إلى بيانات المصدر في موقع تخزين كائن سحابي يتوافق مع وحدة تخزين كتالوج Unity (مستحسن) أو موقع خارجي لكتالوج Unity. بعد ذلك، ستتعلم كيفية استيعاب البيانات بشكل متزايد في جدول مدار في كتالوج Unity باستخدام أداة التحميل التلقائي مع Delta Live Tables.
إشعار
لإلحاق البيانات في Databricks SQL بدلا من دفتر ملاحظات، راجع تحميل البيانات باستخدام جداول الدفق في Databricks SQL.
قبل البدء
إذا لم تكن مسؤولا، تفترض هذه المقالة أن المسؤول قد قدم لك ما يلي:
الوصول إلى مساحة عمل Azure Databricks مع تمكين كتالوج Unity. لمزيد من المعلومات، راجع إعداد كتالوج Unity وإدارته.
READ FILES
الإذن الموجود في وحدة التخزين الخارجية ل Unity Catalog أو الموقع الخارجي ل Unity Catalog الذي يتوافق مع موقع التخزين السحابي الذي يحتوي على بيانات المصدر. لمزيد من المعلومات، راجع إنشاء موقع خارجي لتوصيل التخزين السحابي ب Azure Databricks.المسار إلى بيانات المصدر.
مثال مسار وحدة التخزين:
/Volumes/<catalog>/<schema>/<volume>/<path>/<folder>
مثال على مسار الموقع الخارجي:
abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>
الامتيازات
USE SCHEMA
وCREATE TABLE
على المخطط الذي تريد تحميل البيانات إليه.إذن إنشاء نظام المجموعة أو الوصول إلى نهج نظام المجموعة الذي يعرف نظام مجموعة خطوط أنابيب Delta Live Tables (
cluster_type
تم تعيين الحقل إلىdlt
).إذا كان المسار إلى البيانات المصدر هو مسار وحدة تخزين، يجب أن تقوم مجموعتك بتشغيل Databricks Runtime 13.3 LTS أو أعلى.
هام
إذا كانت لديك أسئلة حول هذه المتطلبات الأساسية، فاتصل بمسؤول حسابك.
الخطوة 1: إنشاء نظام مجموعة
لإنشاء نظام مجموعة، قم بما يلي:
- سجل الدخول إلى مساحة عمل Azure Databricks.
- في الشريط الجانبي، انقر فوق مجموعة جديدة>.
- في واجهة مستخدم المجموعات، حدد اسما فريدا للمجموعة الخاصة بك.
- إذا كان المسار إلى بيانات المصدر مسار وحدة تخزين، بالنسبة لإصدار وقت تشغيل Databricks، حدد 13.2 أو أعلى.
- انقر فوق Create cluster.
الخطوة 2: إنشاء دفتر ملاحظات لاستكشاف البيانات
يصف هذا القسم كيفية إنشاء دفتر ملاحظات لاستكشاف البيانات حتى تتمكن من فهم بياناتك قبل إنشاء مسار البيانات.
في الشريط الجانبي، انقر فوق +دفتر ملاحظات جديد>.
يتم إرفاق دفتر الملاحظات تلقائيا بآخر مجموعة استخدمتها (في هذه الحالة، المجموعة التي قمت بإنشائها في الخطوة 1: إنشاء نظام مجموعة).
أدخل اسما لدفتر الملاحظات.
انقر فوق زر اللغة، ثم حدد
Python
أوSQL
من القائمة المنسدلة.Python
يتم تحديده بشكل افتراضي.لتأكيد وصول البيانات إلى البيانات المصدر في ADLS Gen2، الصق التعليمات البرمجية التالية في خلية دفتر ملاحظات، وانقر فوق ، ثم انقر فوق تشغيل الخلية.
SQL
LIST '<path-to-source-data>'
Python
%fs ls '<path-to-source-data>'
استبدل
<path-to-source-data>
بالمسار إلى الدليل الذي يحتوي على بياناتك.يعرض هذا محتويات الدليل الذي يحتوي على مجموعة البيانات.
لعرض عينة من السجلات لفهم محتويات كل سجل وتنسيقه بشكل أفضل، الصق ما يلي في خلية دفتر ملاحظات، وانقر فوق ، ثم انقر فوق تشغيل الخلية.
SQL
SELECT * from read_files('<path-to-source-data>', format => '<file-format>') LIMIT 10
Python
spark.read.format('<file-format>').load('<path-to-source-data>').limit(10).display()
استبدل القيم التالية:
<file-format>
: تنسيق ملف معتمد. راجع خيارات تنسيق الملف.<path to source data>
: المسار إلى ملف في الدليل الذي يحتوي على بياناتك.
يعرض هذا السجلات العشرة الأولى من الملف المحدد.
الخطوة 3: استيعاب البيانات الأولية
لاستيعاب البيانات الأولية، قم بما يلي:
في الشريط الجانبي، انقر فوق دفتر ملاحظات جديد>.
يتم إرفاق دفتر الملاحظات تلقائيا بآخر مجموعة استخدمتها (في هذه الحالة، المجموعة التي أنشأتها سابقا في هذه المقالة).
أدخل اسما لدفتر الملاحظات.
انقر فوق زر اللغة، ثم حدد
Python
أوSQL
من القائمة المنسدلة.Python
يتم تحديده بشكل افتراضي.الصق التعليمات البرمجية التالية في خلية دفتر ملاحظات:
SQL
CREATE OR REFRESH STREAMING TABLE <table-name> AS SELECT * FROM STREAM read_files( '<path-to-source-data>', format => '<file-format>' )
Python
@dlt.table(table_properties={'quality': 'bronze'}) def <table-name>(): return ( spark.readStream.format('cloudFiles') .option('cloudFiles.format', '<file-format>') .load(f'{<path-to-source-data>}') )
استبدل القيم التالية:
<table-name>
: اسم للجدول الذي سيحتوي على السجلات التي تم استيعابها.<path-to-source-data>
: المسار إلى بيانات المصدر.<file-format>
: تنسيق ملف معتمد. راجع خيارات تنسيق الملف.
إشعار
لم يتم تصميم Delta Live Tables للتشغيل بشكل تفاعلي في خلايا دفتر الملاحظات. يؤدي تشغيل خلية تحتوي على بناء جملة Delta Live Tables في دفتر ملاحظات إلى إرجاع رسالة حول ما إذا كان الاستعلام صالحا من الناحية التركيبية، ولكنه لا يقوم بتشغيل منطق الاستعلام. توضح الخطوة التالية كيفية إنشاء مسار من دفتر ملاحظات الاستيعاب الذي أنشأته للتو.
الخطوة 4: إنشاء مسار ونشره
لإنشاء مسار ونشره في كتالوج Unity، قم بما يلي:
- في الشريط الجانبي، انقر فوق مهام سير العمل، وانقر فوق علامة التبويب Delta Live Tables ، ثم انقر فوق Create pipeline.
- أدخل اسما للبنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك.
- بالنسبة إلى وضع البنية الأساسية لبرنامج ربط العمليات التجارية، حدد مشغل.
- بالنسبة إلى التعليمات البرمجية المصدر، حدد دفتر الملاحظات الذي يحتوي على التعليمات البرمجية المصدر للبنية الأساسية لبرنامج ربط العمليات التجارية.
- بالنسبة إلى الوجهة، حدد كتالوج Unity.
- للتأكد من إدارة الجدول بواسطة كتالوج Unity ويمكن لأي مستخدم لديه حق الوصول إلى المخطط الأصل الاستعلام عنه، حدد كتالوج ومخطط هدف من القوائم المنسدلة.
- إذا لم يكن لديك إذن إنشاء نظام المجموعة، فحدد نهج نظام المجموعة الذي يدعم Delta Live Tables من القائمة المنسدلة.
- بالنسبة إلى خيارات متقدمة، قم بتعيين القناة إلى معاينة.
- اقبل جميع القيم الافتراضية الأخرى وانقر فوق إنشاء.
الخطوة 5: جدولة المسار
لجدولة البنية الأساسية لبرنامج ربط العمليات التجارية، قم بما يلي:
- في الشريط الجانبي، انقر فوق Delta Live Tables.
- انقر فوق اسم المسار الذي تريد جدولته.
- انقر فوق جدولة>إضافة جدول زمني.
- بالنسبة إلى Job name، أدخل اسما للوظيفة.
- تعيين الجدول إلى مجدول.
- حدد الفترة ووقت البدء والمنطقة الزمنية.
- تكوين عنوان بريد إلكتروني واحد أو أكثر لتلقي تنبيهات حول بدء المسار أو نجاحه أو فشله.
- انقر فوق Create.
الخطوات التالية
- منح المستخدمين حق الوصول إلى الجدول الجديد. لمزيد من المعلومات، راجع امتيازات كتالوج Unity والكائنات القابلة للتأمين.
- يمكن للمستخدمين الذين لديهم حق الوصول إلى الجدول الجديد الآن الاستعلام عن الجدول في دفتر ملاحظات أو استخدام محرر Databricks SQL.