مشاركة عبر


نسخ البيانات من Spark باستخدام Azure Data Factory أو تحليلات Synapse

ينطبق على: Azure Data Factory Azure Synapse Analytics

تلميح

جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!

توضح هذه المقالة كيفية استخدام نشاط النسخ فيAzure Data Factory أو تدفقات تحليلات Synapse لنسخ البيانات من Spark. تعتمد هذه المقالة على مقالة نظرة عامة على نشاط النسخ التي تقدم نظرة عامة على نشاط النسخ.

هام

الإصدار 1.0 من موصل Spark في مرحلة الإزالة. يوصى بترقية موصل Spark من الإصدار 1.0 إلى 2.0.

القدرات المدعومة

يتوفر دعم موصل Spark للقدرات التالية:

القدرات المدعومة الاشعه تحت الحمراء
نشاط النسخ (مصدر/-) (1) (2)
نشاط البحث (1) (2)

① وقت تشغيل تكامل Azure ② وقت تشغيل التكامل المستضاف ذاتيًا

للحصول على قائمة بمخازن البيانات المدعومة كمصادر/متلقيات بواسطة نشاط النسخ، راجع جدول مخازن البيانات المدعومة.

توفر الخدمة برنامج تشغيل مضمناً لتمكين الاتصال، وبالتالي لا تحتاج إلى تثبيت أي برنامج تشغيل يدوياً باستخدام هذا الموصل.

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

إذا كان مخزن البيانات الخاص بك موجوداً داخل شبكة محلية، أو شبكة Azure ظاهرية، أو Amazon Virtual Private Cloud، فأنت بحاجة إلى تكوين وقت تشغيل تكامل مستضاف ذاتياً للاتصال به.

إذا كان مخزن البيانات الخاص بك عبارة عن خدمة بيانات سحابية مُدارة، يمكنك استخدام Azure Integration Runtime. إذا كان الوصول مقتصراً على عناوين IP التي تمت الموافقة عليها في قواعد جدار الحماية، يمكنك إضافة عناوين IP لـ Azure Integration Runtime إلى قائمة السماح.

يمكنك أيضاً استخدام ميزة وقت تشغيل تكامل الشبكة الظاهرية المُدارة في Azure Data Factory للوصول إلى الشبكة المحلية دون تثبيت وقت تشغيل تكامل مستضاف ذاتياً وتكوينه.

لمزيد من المعلومات حول آليات وخيارات أمان الشبكة التي يدعمها Data Factory، راجع إستراتيجيات الوصول إلى البيانات.

الشروع في العمل

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

إنشاء خدمة مرتبطة إلى Spark باستخدام واجهة المستخدم

استخدم الخطوات التالية لإنشاء خدمة مرتبطة إلى Spark في واجهة مستخدم مدخل Microsoft Azure.

  1. استعرض للوصول إلى علامة التبويب "Manage" في مصنع بيانات Azure أو مساحة عمل Synapse، وحدد "Linked Services"، ثم انقر فوق "New":

  2. ابحث عن Spark وحدد موصل Spark.

    لقطة شاشة لموصل Spark.

  3. قم بتكوين تفاصيل الخدمة، واختبر الاتصال، وأنشئ الخدمة المرتبطة الجديدة.

    لقطة شاشة لتكوين الخدمة المرتبطة لـ Spark.

تفاصيل تكوين الموصل

توفر المقاطع التالية تفاصيل حول الخصائص المستخدمة لتعريف كيانات مصنع البيانات الخاصة بموصل Spark.

خصائص الخدمة المرتبطة

يدعم موصل Spark الآن الإصدار 2.0. راجع هذا القسم لترقية إصدار موصل Spark من الإصدار 1.0. للحصول على تفاصيل الخاصية، راجع الأقسام المقابلة.

الإصدار 2.0

يتم دعم الخصائص التالية لإصدار الخدمة المرتبطة Spark 2.0:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع إلى: Spark ‏‏نعم‬
إصدار الإصدار الذي تحدده. القيمة هي 2.0. ‏‏نعم‬
مضيف عنوان IP أو اسم المضيف لخادم Spark ‏‏نعم‬
المنفذ منفذ TCP الذي يستخدمه ملقم Spark للاستماع إلى اتصالات العميل. إذا قمت بالاتصال بـ Azure HDInsight، فحدد المنفذ كـ 443. ‏‏نعم‬
نوع الخادم نوع خادم Spark.
القيمة المسموح بها هي: SparkThriftServer
لا
بروتوكول النقل التوفير بروتوكول النقل المراد استخدامه في طبقة التوفير.
القيمة المسموح بها هي: HTTP
لا
نوع المصادقة طريقة المصادقة المستخدمة للوصول إلى خادم Spark.
القيم المسموح بها هي: مجهول المصدر، UsernameAndPassword، WindowsAzureHDInsightService
‏‏نعم‬
اسم المستخدم اسم المستخدم الذي تستخدمه للوصول إلى خادم Spark. لا
كلمة المرور كلمة المرور الخاصة بالمستخدم. ضع علامة على هذا الحقل باعتباره SecureString لتخزينه بشكل آمن، أو قم بالإشارة إلى بيانات سرية مخزنة في Azure Key Vault. لا
httpPath عنوان URL الجزئي المطابق لخادم Spark.
بالنسبة لنوع مصادقة WindowsAzureHDInsightService ، تكون القيمة الافتراضية ./sparkhive2
لا
تمكينSsl يحدد ما إذا كانت الاتصالات بالخادم مشفرة باستخدام TLS. القيمة الافتراضية صحيحة. لا
enableServerCertificateValidation حدد ما إذا كنت تريد تمكين التحقق من صحة شهادة SSL للخادم عند الاتصال.
استخدم مخزن ثقة النظام دائما. القيمة الافتراضية صحيحة.
لا
connectVia Integration Runtime الذي سيتم استخدامه للاتصال بمخزن البيانات. تعرف على المزيد من قسم المتطلبات الأساسية. إذا لم يتم تحديده، فإنه يستخدم Azure Integration Runtime الافتراضي. لا

مثال:

{
    "name": "SparkLinkedService",
    "properties": {
        "type": "Spark",
        "version": "2.0",
        "typeProperties": {
            "host": "<cluster>.azurehdinsight.net",
            "port": "<port>",
            "authenticationType": "WindowsAzureHDInsightService",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        }
    }
}

الإصدار 1.0

يتم دعم الخصائص التالية لإصدار الخدمة المرتبطة Spark 1.0:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع إلى: Spark ‏‏نعم‬
مضيف عنوان IP أو اسم المضيف لخادم Spark ‏‏نعم‬
المنفذ منفذ TCP الذي يستخدمه ملقم Spark للاستماع إلى اتصالات العميل. إذا قمت بالاتصال بـ Azure HDInsight، فحدد المنفذ كـ 443. ‏‏نعم‬
نوع الخادم نوع خادم Spark.
القيم المسموح بها هي: SharkServer، SharkServer2، SparkThriftServer
لا
بروتوكول النقل التوفير بروتوكول النقل المراد استخدامه في طبقة التوفير.
القيم المسموح بها هي: ثنائي، SASL، HTTP
لا
نوع المصادقة طريقة المصادقة المستخدمة للوصول إلى خادم Spark.
القيم المسموح بها هي: مجهول، اسم المستخدم، UsernameAndPassword، WindowsAzureHDInsightService
‏‏نعم‬
اسم المستخدم اسم المستخدم الذي تستخدمه للوصول إلى خادم Spark. لا
كلمة المرور كلمة المرور الخاصة بالمستخدم. ضع علامة على هذا الحقل باعتباره SecureString لتخزينه بشكل آمن، أو قم بالإشارة إلى بيانات سرية مخزنة في Azure Key Vault. لا
httpPath عنوان URL الجزئي المطابق لخادم Spark. لا
تمكينSsl يحدد ما إذا كانت الاتصالات بالخادم مشفرة باستخدام TLS. القيمة الافتراضية هي false. لا
مسارCertPath الموثوق به المسار الكامل لملف .pem الذي يحتوي على شهادات CA موثوق بها للتحقق من الملقم عند الاتصال عبر TLS. يمكن تعيين هذه الخاصية فقط عند استخدام TLS على وقت تشغيل التكامل المستضاف ذاتيًا. القيمة الافتراضية هي ملف cacerts.pem المثبت مع وقت تشغيل التكامل. لا
استخدامSystemTrustStore تحديد ما إذا كنت تريد استخدام شهادة CA من مخزن الثقة بالنظام أو من ملف PEM محدد. القيمة الافتراضية هي false. لا
allowHostNameCNMismatch تحدد ما إذا كنت تريد طلب اسم شهادة TLS / SSL الصادرة عن CA لمطابقة اسم مضيف الملقم عند الاتصال عبر TLS. القيمة الافتراضية هي false. لا
allowSelfSignedServerCert يحدد ما إذا كان سيتم السماح بشهادات موقعة ذاتياً من الخادم. القيمة الافتراضية هي false. لا
connectVia Integration Runtime الذي سيتم استخدامه للاتصال بمخزن البيانات. تعرف على المزيد من قسم المتطلبات الأساسية. إذا لم يتم تحديده، فإنه يستخدم Azure Integration Runtime الافتراضي. لا

مثال:

{
    "name": "SparkLinkedService",
    "properties": {
        "type": "Spark",
        "typeProperties": {
            "host": "<cluster>.azurehdinsight.net",
            "port": "<port>",
            "authenticationType": "WindowsAzureHDInsightService",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        }
    }
}

خصائص مجموعة البيانات

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

لنسخ البيانات من Spark، قم بتعيين خاصية نوع مجموعة البيانات إلى SparkObject. تدعم الخصائص التالية:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية نوع مجموعة البيانات إلى: SparkObject ‏‏نعم‬
Schema اسم المخطط. لا (إذا تم تحديد "الاستعلام" في مصدر النشاط)
طاولتنا ضع اسمًا للجدول. لا (إذا تم تحديد "الاستعلام" في مصدر النشاط)
اسم الجدول اسم الجدول مع المخطط. هذه الخاصية مدعومة للتوافق مع الإصدارات السابقة. استخدم schema وtable لأحمال العمل الجديدة. لا (إذا تم تحديد "الاستعلام" في مصدر النشاط)

مثال

{
    "name": "SparkDataset",
    "properties": {
        "type": "SparkObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Spark linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

انسخ خصائص النشاط

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

Spark كمصدر

لنسخ البيانات من Spark، قم بتعيين نوع المصدر في نشاط النسخ إلى SparkSource. تُدعم الخصائص التالية في قسم مصدر نشاط النسخ:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية نوع مصدر نشاط النسخ إلى: SparkSource ‏‏نعم‬
استعلام استخدم استعلام SQL المخصص لقراءة البيانات. على سبيل المثال: "SELECT * FROM MyTable". لا (إذا تم تحديد "tableName" في مجموعة البيانات)

مثال:

"activities":[
    {
        "name": "CopyFromSpark",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Spark input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SparkSource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

تعيين نوع البيانات ل Spark

عند نسخ البيانات من وإلى Spark، يتم استخدام تعيينات نوع البيانات المؤقتة التالية داخل الخدمة. لمعرفة كيفية تعيين نشاط النسخ للمخطط المصدر ونوع البيانات إلى المتلقي، راجع تعيينات المخطط ونوع البيانات.

نوع بيانات Spark نوع بيانات الخدمة المؤقتة (للإصدار 2.0) نوع بيانات الخدمة المؤقتة (للإصدار 1.0)
نوع منطقي منطقيه منطقيه
نوع البايت سبايت Int16
نوع مختصر Int16 Int16
نوع العدد الصحيح Int32 Int32
نوع طويل Int64 Int64
نوع العائمة واحد واحد
نوع مزدوج مزدوج مزدوج
نوع التاريخ التاريخ والوقت التاريخ والوقت
نوع الطابع الزمني DateTimeOffset التاريخ والوقت
نوع السلسلة سلسلة‬‬ سلسلة‬‬
نوع ثنائي بايت[] بايت[]
نوع عشري عشري عشري
سلسلة (الدقة > 28)
نوع الصفيف سلسلة‬‬ سلسلة‬‬
نوع البنية سلسلة‬‬ سلسلة‬‬
نوع الخريطة سلسلة‬‬ سلسلة‬‬
TimestampNTZType التاريخ والوقت التاريخ والوقت
YearMonthIntervalType سلسلة‬‬ ‏‏غير مدعومة. 
DayTimeIntervalType سلسلة‬‬ ‏‏غير مدعومة.

بحث عن خصائص النشاط

لمعرفة تفاصيل حول الخصائص، تحقق من نشاط البحث.

دورة حياة موصل Spark وترقيته

يوضح الجدول التالي مرحلة الإصدار وسجلات التغيير لإصدارات مختلفة من موصل Spark:

Version مرحلة الإصدار سجل التغيير
الإصدار 1.0 Removed غير قابل للتطبيق.
الإصدار 2.0 يتوفر إصدار GA enableServerCertificateValidation مدعوم.

• القيمة الافتراضية ل enableSSL true.

• بالنسبة لنوع مصادقة WindowsAzureHDInsightService ، تكون القيمة الافتراضية ل httpPath/sparkhive2.

• يقرأ DecimalType على أنه نوع البيانات العشري. 

• تتم قراءة TimestampType كنوع بيانات DateTimeOffset.

• تتم قراءة YearMonthIntervalType و DayTimeIntervalType كنوع بيانات سلسلة.

trustedCertPath، useSystemTrustStore، allowHostNameCNMismatch وغير allowSelfSignedServerCert مدعومة.

• SharkServer وSharkServer2 غير مدعومين ل serverType.

• ثنائي و SASL غير مدعومين ل thriftTransportProtocl.

• نوع مصادقة اسم المستخدم غير مدعوم.

ترقية موصل Spark من الإصدار 1.0 إلى الإصدار 2.0

  1. في صفحة تحرير الخدمة المرتبطة ، حدد 2.0 للإصدار وقم بتكوين الخدمة المرتبطة بالإشارة إلى خصائص الخدمة المرتبطة الإصدار 2.0.

  2. يختلف تعيين نوع البيانات لإصدار الخدمة المرتبطة Spark 2.0 عن ذلك للإصدار 1.0. لمعرفة أحدث تعيين لنوع البيانات، راجع تعيين نوع البيانات ل Spark.

للحصول على قائمة بمخازن البيانات المدعومة من نشاط النسخ كمصادر ومواضع تلقي، راجع مخازن البيانات المدعومة.