استيراد أصول البيانات (معاينة)

ينطبق على:ملحق ML Azure CLI v2 (الحالي)Python SDK azure-ai-ml v2 (الحالي)

في هذه المقالة، ستتعلم كيفية استيراد البيانات إلى النظام الأساسي Azure التعلم الآلي من مصادر خارجية. يقوم استيراد البيانات الناجح تلقائيا بإنشاء وتسجيل أصل بيانات Azure التعلم الآلي بالاسم المقدم أثناء هذا الاستيراد. يشبه أصل بيانات Azure التعلم الآلي إشارة مرجعية لمستعرض الويب (المفضلة). لا تحتاج إلى تذكر مسارات التخزين الطويلة (URIs) التي تشير إلى بياناتك الأكثر استخداما. بدلا من ذلك، يمكنك إنشاء أصل بيانات، ثم الوصول إلى هذا الأصل باسم مألوف.

ينشئ استيراد البيانات ذاكرة تخزين مؤقت للبيانات المصدر، جنبا إلى جنب مع بيانات التعريف، للوصول إلى البيانات بشكل أسرع وموثوق به في مهام التدريب على Azure التعلم الآلي. تتجنب ذاكرة التخزين المؤقت للبيانات قيود الشبكة والاتصال. يتم إصدار البيانات المخزنة مؤقتا لدعم إمكانية إعادة الإنتاج. يوفر هذا إمكانات تعيين الإصدار للبيانات المستوردة من مصادر SQL Server. بالإضافة إلى ذلك، توفر البيانات المخزنة مؤقتا دورة حياة البيانات لمهام التدقيق. يستخدم استيراد البيانات ADF (مسارات Azure Data Factory) خلف الكواليس، ما يعني أنه يمكن للمستخدمين تجنب التفاعلات المعقدة مع ADF. في الخلفية، يعالج Azure التعلم الآلي أيضا إدارة حجم تجمع موارد حساب ADF، وتوفير موارد الحوسبة، والتدليس، لتحسين نقل البيانات عن طريق تحديد التوازي المناسب.

يتم تقسيم البيانات المنقولة وتخزينها بأمان كملفات parquet في تخزين Azure. وهذا يتيح معالجة أسرع أثناء التدريب. تتضمن تكاليف حساب ADF فقط الوقت المستخدم لنقل البيانات. تتضمن تكاليف التخزين فقط الوقت اللازم لتخزين البيانات مؤقتا، لأن البيانات المخزنة مؤقتا هي نسخة من البيانات المستوردة من مصدر خارجي. يستضيف تخزين Azure هذا المصدر الخارجي.

تتضمن ميزة التخزين المؤقت تكاليف الحوسبة والتخزين مقدما. ومع ذلك، فإنه يدفع لنفسه، ويمكن توفير المال، لأنه يقلل من تكاليف حساب التدريب المتكررة، مقارنة بالاتصالات المباشرة ببيانات المصدر الخارجي أثناء التدريب. يقوم بالتخزين المؤقت للبيانات كملفات parquet، ما يجعل التدريب على الوظائف أسرع وأكثر موثوقية مقابل مهلات الاتصال لمجموعات البيانات الأكبر. يؤدي هذا إلى إعادة تشغيل أقل، وفشل تدريب أقل.

يمكنك استيراد البيانات من Amazon S3 وAzure SQL و Snowflake.

هام

تُعد هذه الميزة قيد الإصدار الأولي العام في الوقت الحالي. يجري توفير إصدار المعاينة هذا دون اتفاقية على مستوى الخدمة، ولا نوصي باستخدامه لأحمال عمل الإنتاج. بعض الميزات ربما لا تكون مدعمة أو بها بعض القدرات المقيدة.

لمزيد من المعلومات، راجع ⁧⁩شروط الاستخدام التكميلية لمعاينات Microsoft Azure⁧⁩.

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

لإنشاء أصول البيانات والعمل باستخدامها، فأنت تحتاج إلى:

إشعار

لاستيراد البيانات بنجاح، يرجى التحقق من تثبيت أحدث حزمة azure-ai-ml (الإصدار 1.15.0 أو أحدث) ل SDK، وملحق ml (الإصدار 2.15.1 أو أحدث).

إذا كان لديك حزمة SDK قديمة أو ملحق CLI، فيرجى إزالة القديم وتثبيت الجديد مع التعليمات البرمجية الموضحة في قسم علامة التبويب. اتبع الإرشادات الخاصة ب SDK وCLI كما هو موضح هنا:

إصدارات التعليمات البرمجية

az extension remove -n ml
az extension add -n ml --yes
az extension show -n ml #(the version value needs to be 2.15.1 or later)

الاستيراد من قاعدة بيانات خارجية كأصل بيانات قابل للفصل

إشعار

يمكن أن تحتوي قواعد البيانات الخارجية على تنسيقات Snowflake وAzure SQL وما إلى ذلك.

يمكن لعينات التعليمات البرمجية التالية استيراد البيانات من قواعد البيانات الخارجية. connection يحدد الذي يعالج إجراء الاستيراد بيانات تعريف مصدر بيانات قاعدة البيانات الخارجية. في هذا النموذج، تستورد التعليمات البرمجية البيانات من مورد Snowflake. يشير الاتصال إلى مصدر Snowflake. مع القليل من التعديل، يمكن أن يشير الاتصال إلى مصدر قاعدة بيانات Azure SQL ومصدر قاعدة بيانات Azure SQL. الأصل type المستورد من مصدر قاعدة بيانات خارجي هو mltable.

YAML إنشاء ملف <file-name>.yml:

$schema: http://azureml/sdk-2-0/DataImport.json
# Supported connections include:
# Connection: azureml:<workspace_connection_name>
# Supported paths include:
# Datastore: azureml://datastores/<data_store_name>/paths/<my_path>/${{name}}


type: mltable
name: <name>
source:
  type: database
  query: <query>
  connection: <connection>
path: <path>

بعد ذلك، قم بتشغيل الأمر التالي في CLI:

> az ml data import -f <file-name>.yml

استيراد البيانات من نظام ملفات خارجي كأصل بيانات مجلد

إشعار

يمكن أن يعمل مورد بيانات Amazon S3 كمورد نظام ملفات خارجي.

connection يحدد الذي يعالج إجراء استيراد البيانات جوانب مصدر البيانات الخارجي. يعرف الاتصال مستودع Amazon S3 كهدف. يتوقع الاتصال قيمة صالحة path . تحتوي قيمة الأصل المستوردة من مصدر نظام ملفات خارجي على type من uri_folder.

يقوم نموذج التعليمات البرمجية التالي باستيراد البيانات من مورد Amazon S3.

YAML إنشاء ملف <file-name>.yml:

$schema: http://azureml/sdk-2-0/DataImport.json
# Supported connections include:
# Connection: azureml:<workspace_connection_name>
# Supported paths include:
# path: azureml://datastores/<data_store_name>/paths/<my_path>/${{name}}


type: uri_folder
name: <name>
source:
  type: file_system
  path: <path_on_source>
  connection: <connection>
path: <path>

بعد ذلك، قم بتنفيذ هذا الأمر في CLI:

> az ml data import -f <file-name>.yml

التحقق من حالة استيراد مصادر البيانات الخارجية

إجراء استيراد البيانات هو إجراء غير متزامن. قد يستغرق الأمر وقتا طويلا. بعد إرسال إجراء استيراد البيانات عبر CLI أو SDK، قد تحتاج خدمة Azure التعلم الآلي إلى عدة دقائق للاتصال بمصدر البيانات الخارجي. بعد ذلك، ستبدأ الخدمة في استيراد البيانات، وتتعامل مع التخزين المؤقت للبيانات والتسجيل. يعتمد الوقت اللازم لاستيراد البيانات أيضا على حجم مجموعة البيانات المصدر.

يرجع المثال التالي حالة نشاط استيراد البيانات المرسلة. يستخدم الأمر أو الأسلوب اسم "أصل البيانات" كمدخل لتحديد حالة تجسيد البيانات.

> az ml data list-materialization-status --name <name>

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