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

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

تلميح

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

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

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

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

القدرات المدعومة IR
نشاط النسخ (مصدر/-) ① ②
نشاط البحث ① ②

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Screenshot of the Spark connector.

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

    Screenshot of linked service configuration for Spark.

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

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

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

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

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع إلى: Spark ‏‏نعم‬
مضيف عنوان IP أو اسم المضيف لخادم Spark ‏‏نعم‬
المنفذ منفذ TCP الذي يستخدمه ملقم Spark للاستماع إلى اتصالات العميل. إذا قمت بالاتصال بـ Azure HDInsights، فحدد المنفذ على أنه 443. ‏‏نعم‬
serverType نوع خادم Spark.
القيم المسموح بها هي: SharkServer، SharkServer2، SparkThriftServer
لا
بروتوكول النقل التوفير بروتوكول النقل المراد استخدامه في طبقة التوفير.
القيم المسموح بها هي: ثنائي، SASL، HTTP
لا
نوع المصادقة طريقة المصادقة المستخدمة للوصول إلى خادم Spark.
القيم المسموح بها هي: مجهول، اسم المستخدم، UsernameAndPassword، WindowsAzureHDInsightService
‏‏نعم‬
اسم المستخدم اسم المستخدم الذي تستخدمه للوصول إلى خادم Spark. لا
كلمة المرور كلمة المرور الخاصة بالمستخدم. ضع علامة على هذا الحقل باعتباره SecureString لتخزينه بشكل آمن، أو قم بالإشارة إلى بيانات سرية مخزنة في Azure Key Vault. لا
httpPath عنوان URL الجزئي المطابق لخادم Spark. لا
enableSsl يحدد ما إذا كانت الاتصالات بالخادم مشفرة باستخدام TLS. القيمة الافتراضية هي false. لا
trustedCertPath المسار الكامل لملف .pem الذي يحتوي على شهادات CA موثوق بها للتحقق من الملقم عند الاتصال عبر TLS. يمكن تعيين هذه الخاصية فقط عند استخدام TLS على وقت تشغيل التكامل المستضاف ذاتيًا. القيمة الافتراضية هي ملف cacerts.pem المثبت مع وقت تشغيل التكامل. لا
useSystemTrustStore تحديد ما إذا كنت تريد استخدام شهادة 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>"
            }
        }
    }
]

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

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

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