اقرأ باللغة الإنجليزية

مشاركة عبر


تصميم إستراتيجية تحميل بيانات PolyBase لتجمع SQL مخصص

تستخدم مستودعات البيانات التقليدية لنظام المعالجات المتعددة المتماثل (SMP) عملية استخراج وتحويل وتحميل (ETL) لتحميل البيانات. تجمع Azure SQL عبارة عن بنية معالجة متوازية على نطاق واسع (MPP) تستفيد من قابلية التوسع ومرونة موارد الحوسبة والتخزين.

في المقابل، يمكن لعملية الاستخراج والتحميل والتحويل (ELT) الاستفادة من قدرات معالجة الاستعلام الموزعة المضمنة والقضاء على الموارد اللازمة لتحويل البيانات قبل التحميل.

بينما يدعم تجمع SQL العديد من أساليب التحميل، بما في ذلك الخيارات غير Polybase مثل برنامج النسخ المجمع (bcp) وواجهة برمجة تطبيقات SQL BulkCopy، فإن أسرع طريقة وأكثرها قابلية للتوسع لتحميل البيانات هي من خلال PolyBase. PolyBase هي تقنية تصل إلى البيانات الخارجية المخزنة في تخزين Azure Blob أو Azure Data Lake Storage عبر لغة Transact-SQL (T-SQL).

تنفيذ Polybase ELT

الاستخراج والتحميل والتحويل (ELT) هي عملية يتم من خلالها استخراج البيانات من نظام المصدر، وتحميلها في مستودع بيانات، ثم تحويلها.

الخطوات الأساسية لتنفيذ PolyBase ELT لتجمع SQL المخصص هي:

  1. استخراج البيانات المصدر في الملفات النصية.
  2. نقل البيانات إلى تخزين Azure Blob أو Azure Data Lake Storage.
  3. إعداد البيانات للتحميل.
  4. تحميل البيانات في جداول التقسيم المرحلي لتجمع SQL المخصصة باستخدام PolyBase.
  5. تحويل البيانات.
  6. إدراج البيانات في جداول الإنتاج.

للحصول على برنامج تعليمي للتحميل، راجع تحميل مجموعة بيانات New York Taxicab.

لمزيد من المعلومات، راجع تحميل الأنماط والاستراتيجيات.

استخراج البيانات المصدر إلى ملفات نصية

يعتمد إخراج البيانات من نظام المصدر الخاص بك على موقع التخزين. الهدف هو نقل البيانات إلى ملفات نصية محددة مدعومة من PolyBase.

تنسيقات الملفات الخارجية PolyBase

يقوم PolyBase بتحميل البيانات من ملفات نصية محددة بترميز UTF-8 وUTF-16. يتم أيضاً تحميل PolyBase من تنسيقات ملفات Hadoop RC File وORC وParquet. يمكن لـ PolyBase أيضاً تحميل البيانات من ملفات Gzip وSnappy المضغوطة. لا يدعم PolyBase حاليا ASCII الموسع أو تنسيق ثابت العرض أو التنسيقات المتداخلة مثل WinZip وJSON وXML.

إذا كنت تقوم بالتصدير من SQL Server، فيمكنك استخدام أداة سطر أوامر bcp لتصدير البيانات إلى ملفات نصية محددة. يسرد الجدول التالي أنواع بيانات Parquet المعينة إلى Azure Synapse Analytics.

نوع بيانات Parquet نوع بيانات SQL
Tinyint Tinyint
Smallint Smallint
العدد الصحيح العدد الصحيح
عدد صحيح كبير عدد صحيح كبير
boolean بت
مزدوج عائم
عائم real
مزدوج money
مزدوج smallmoney
سلسلة nchar
سلسلة nvarchar
سلسلة حرف
سلسلة حروف متنوعة
binary binary
binary varbinary
الطابع الزمني date
الطابع الزمني smalldatetime
الطابع الزمني التاريخ والوقت2
الطابع الزمني datetime
الطابع الزمني time
date date
عشري عشري

نقل البيانات إلى تخزين Azure Blob أو Azure Data Lake Store

للحصول على البيانات في تخزين Azure، يمكنك نقلها إلى تخزين Azure Blob أو Azure Data Lake Storage. في أي من الموقعين، يجب تخزين البيانات في ملفات نصية. يمكن تحميل PolyBase من أي موقع.

يمكنك استخدام الأدوات والخدمات التالية لنقل البيانات إلى Azure Storage:

  • تعمل خدمة Azure ExpressRoute على تحسين معدل نقل الشبكة وأدائها وإمكانية توقعها. ExpressRoute هي خدمة تقوم بتوجيه بياناتك عبر اتصال خاص مخصص إلى Azure. لا توجه اتصالات ExpressRoute البيانات عبر الإنترنت العام. توفر الاتصالات مزيدًا من الموثوقية وسرعات أسرع وأوقات انتقال أقل وأمانًا أعلى من الاتصالات العادية عبر الإنترنت العام.
  • تنقل الأداة المساعدة AzCopy البيانات إلى Azure Storage عبر الإنترنت العام. يعمل هذا إذا كانت أحجام بياناتك أقل من 10 تيرابايت. لإجراء الأحمال بانتظام باستخدام AzCopy، اختبر سرعة الشبكة لمعرفة ما إذا كانت مقبولة.
  • يحتوي Azure Data Factory على بوابة يمكنك تثبيتها على الخادم المحلي. بعد ذلك، يمكنك إنشاء مسار لنقل البيانات من الخادم المحلي الخاص بك إلى Azure Storage. لاستخدام Data Factory مع تجمع SQL مخصص، راجع تحميل البيانات في Azure Synapse Analytics.

إعداد البيانات للتحميل

قد تحتاج إلى إعداد وتنظيف البيانات في حساب التخزين الخاص بك قبل تحميلها في مجمع SQL المخصص. يمكن إجراء إعداد البيانات أثناء وجود بياناتك في المصدر، أثناء تصدير البيانات إلى الملفات النصية، أو بعد أن تكون البيانات في تخزين Azure. من الأسهل العمل مع البيانات في وقت مبكر من العملية قدر الإمكان.

تحديد الجداول الخارجية

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

يتضمن تعريف الجداول الخارجية تحديد مصدر البيانات وتنسيق الملفات النصية وتعريفات الجدول. فيما يلي مواضيع بناء جملة T-SQL التي تحتاج إليها:

تنسيق الملفات النصية

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

  • إذا كانت بياناتك تأتي من مصدر غير علائقي، فستحتاج إلى تحويلها إلى صفوف وأعمدة. سواء كانت البيانات من مصدر علائقي أو غير علائقي، يجب تحويل البيانات لتتماشى مع تعريفات العمود للجدول الذي تخطط لتحميل البيانات فيه.
  • تنسيق البيانات في ملف نصي لمحاذاة الأعمدة وأنواع البيانات في جدول وجهة تجمّع SQL. يؤدي المحاذاة غير الصحيحة بين أنواع البيانات في الملفات النصية الخارجية وجدول مستودع البيانات إلى رفض الصفوف أثناء التحميل.
  • افصل الحقول في الملف النصي باستخدام فاصل. تأكد من استخدام حرف أو تسلسل أحرف غير موجود في البيانات المصدر. استخدم حرف النهاية الذي حددته باستخدام CREATE EXTERNAL FILE FORMAT.

تحميل البيانات في جداول مخصصة للتقسيم المرحلي لتجمع SQL باستخدام PolyBase

من أفضل الممارسات تحميل البيانات في جدول مرحلي. تسمح لك جداول التدريج بمعالجة الأخطاء دون التدخل في جداول الإنتاج. يمنحك الجدول المرحلي أيضاً الفرصة لاستخدام إمكانات معالجة الاستعلام الموزع المضمنة في تجمّع SQL لتحويلات البيانات قبل إدراج البيانات في جداول الإنتاج.

خيارات للتحميل مع PolyBase

لتحميل البيانات باستخدام PolyBase، يمكنك استخدام أي من خيارات التحميل التالية:

  • تحميل البيانات الخارجية باستخدام معرف Microsoft Entra.
  • تحميل البيانات الخارجية باستخدام هوية مدارة.
  • يعمل PolyBase مع T-SQL بشكل جيد عندما تكون بياناتك في تخزين Azure Blob أو Azure Data Lake Storage. يمنحك أقصى قدر من التحكم في عملية التحميل، ولكنه يتطلب منك أيضاً تحديد عناصر البيانات الخارجية. تحدد الطرق الأخرى هذه العناصر خلف الكواليس أثناء قيامك بتعيين جداول المصدر إلى جداول الوجهة. لتنسيق تحميلات T-SQL، يمكنك استخدام Azure Data Factory أو SSIS أو Azure Functions.
  • يعمل PolyBase مع SQL Server Integration Services (SSIS) بشكل جيد عندما تكون بيانات المصدر الخاصة بك في SQL Server. يحدد SSIS تعيينات الجدول من المصدر إلى الوجهة، وينسق أيضا الحمل. إذا كان لديك بالفعل حزم SSIS، يمكنك تعديل الحزم للعمل مع وجهة مستودع البيانات الجديدة.
  • PolyBase مع Azure Data Factory هو أداة تزامن أخرى. يحدد خط التدفق وجدولة الوظائف.
  • ينقلPolyBase مع Azure Databricks البيانات من جدول Azure Synapse Analytics إلى إطار بيانات Databricks و/أو يكتب البيانات من إطار بيانات Databricks إلى جدول Azure Synapse Analytics باستخدام PolyBase.

خيارات تحميل غير PolyBase

إذا كانت بياناتك غير متوافقة مع PolyBase، يمكنك استخدام bcp أو واجهة برمجة تطبيقات SQLBulkCopy. يتم تحميل BCP مباشرة إلى تجمع SQL المخصص دون المرور عبر موقع تخزين Azure Blob، وهو مخصص للأحمال الصغيرة فقط. لاحظ أن أداء التحميل لهذه الخيارات أبطأ من PolyBase.

تحويل البيانات

في أثناء وجود البيانات في الجدول المرحلي، قم بإجراء التحويلات التي يتطلبها حمل العمل الخاص بك. ثم انقل البيانات إلى جدول الإنتاج.

إدراج البيانات في جداول الإنتاج

INSERT INTO ... SELECT تنقل العبارة البيانات من الجدول المرحلي إلى الجدول الدائم.

في أثناء تصميم عملية ETL، حاول تشغيل العملية على عينة اختبار صغيرة. حاول استخراج 1000 صف من الجدول إلى ملف، ونقله إلى Azure، ثم حاول تحميله في جدول مرحلي.

حلول تحميل الشريك

العديد من شركائنا لديهم حلول تحميل. لمعرفة المزيد، راجع قائمة شركاء الحلول.