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

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

تلميح

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

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

تلميح

بالنسبة لسيناريو ترحيل البيانات من Netezza إلى Azure، تعرف على المزيد من ترحيل البيانات من خادم Netezza المحلي إلى Azure.

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

يتم دعم موصل Netezza هذا للأنشطة التالية:

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

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

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

يدعم موصل Netezza النسخ المتوازي من المصدر. راجع قسم النسخ المتوازي من Netezza للحصول على التفاصيل.

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

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

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

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

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

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

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

يمكنك إنشاء مسار يستخدم نشاط نسخ باستخدام .NET SDK أو Python SDK أوAzure PowerShell أو واجهة برمجة تطبيقات REST أو قالب Azure Resource Manager. راجع البرنامج التعليمي لنشاط النسخ للحصول على إرشادات خطوة بخطوة لإنشاء البنية الأساسية لبرنامج ربط العمليات التجارية بنشاط نسخ.

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

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

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

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

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

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

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

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

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

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

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

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع إلى: Netezza. ‏‏نعم‬
سلسلة الاتصال سلسلة اتصال ODBC للاتصال بـNetezza.
يمكنك أيضاً وضع كلمة مرور في Azure Key Vault وسحب تكوين pwd خارج سلسلة الاتصال. راجع النماذج التالية ومقال تخزين بيانات الاعتماد في Azure Key Vault لمزيد من التفاصيل.
‏‏نعم‬
connectVia وقت تشغيل التكامل المطلوب استخدامه للاتصال بمخزن البيانات. تعرف على المزيد من قسم المتطلبات الأساسية. إذا لم يتم التحديد، يتم استخدام وقت تشغيل تكامل Azure الافتراضي. لا

سلسلة الاتصال النموذجية هي Server=<server>;Port=<port>;Database=<database>;UID=<user name>;PWD=<password>. يصف الجدول التالي المزيد من الخصائص التي يمكنك تعيينها:

الخاصية الوصف مطلوب
SecurityLevel مستوى الأمان الذي يستخدمه برنامج التشغيل للاتصال بمخزن البيانات. يدعم برنامج التشغيل اتصالات SSL ذات المصادقة أحادية الاتجاه باستخدام الإصدار SSL 3.
مثال:SecurityLevel=preferredSecured. القيم المدعومة هي:
- غير آمن فقط (onlyUnSecured): لا يستخدم برنامج التشغيل SSL.
- غير آمن مفضل (preferredUnSecured) (الافتراضي): إذا كان الخادم يوفر خياراً، لا يستخدم برنامج التشغيل SSL.
- آمن مفضل (preferredSecured): إذا كان الخادم يوفر خياراً، يستخدم برنامج التشغيل SSL.
- آمن فقط (onlySecured): لا يتصل برنامج التشغيل إلا إذا كان اتصال SSL متوفراً.
لا
CaCertFile المسار الكامل لشهادة SSL التي يستخدمها الخادم. مثال: CaCertFile=<cert path>; نعم، إذا تم تمكين SSL

مثال

{
    "name": "NetezzaLinkedService",
    "properties": {
        "type": "Netezza",
        "typeProperties": {
            "connectionString": "Server=<server>;Port=<port>;Database=<database>;UID=<user name>;PWD=<password>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

مثال: تخزين كلمة المرور في Azure Key Vault

{
    "name": "NetezzaLinkedService",
    "properties": {
        "type": "Netezza",
        "typeProperties": {
            "connectionString": "Server=<server>;Port=<port>;Database=<database>;UID=<user name>;",
            "pwd": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

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

يوفر هذا القسم قائمة بالخصائص التي تدعمها مجموعة بيانات Netezza.

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

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

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

مثال

{
    "name": "NetezzaDataset",
    "properties": {
        "type": "NetezzaTable",
        "linkedServiceName": {
            "referenceName": "<Netezza linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {}
    }
}

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

يوفر هذا القسم قائمة بالخصائص التي يدعمها مصدر Netezza.

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

Netezza كمصدر

تلميح

لتحميل البيانات من Netezza بكفاءة باستخدام تقسيم البيانات، تعرف على المزيد من قسم النسخ المتوازي من Netezza.

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

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية نوع مصدر نشاط النسخ إلى: NetezzaSource. ‏‏نعم‬
استعلام استخدم استعلام SQL المخصص لقراءة البيانات. مثال: "SELECT * FROM MyTable" لا (إذا تم تحديد "tableName" في مجموعة البيانات)
خيارات التقسيم تحديد خيارات تقسيم البيانات المستخدمة لتحميل البيانات من Netezza.
القيم المسموح بها هي: بلا (الافتراضي)، وDataSlice، وDynamicRange.
عند تمكين خيار تقسيم (أي، ليس None)، يتم التحكم في درجة التوازي لتحميل البيانات بشكل متزامن من قاعدة بيانات Netezza بواسطة الإعداد parallelCopies في نشاط النسخ.
لا
partitionSettings حدد مجموعة الإعدادات الخاصة بتقسيم البيانات.
تُطبق عندما يكون خيار التقسيم ليس None.
لا
partitionColumnName حدد اسم عمود المصدر بنوع عدد صحيح الذي سيتم استخدامه عن طريق تقسيم النطاق للنسخ المتوازي. إذا لم يتم تحديده، فسيتم اكتشاف المفتاح الأساسي للجدول تلقائياً واستخدامه كعمود للتقسيم.
تُطبق عندما يكون خيار التقسيم هو DynamicRange. إذا كنت تستخدم استعلاماً لاسترداد البيانات المصدر، اربط ?AdfRangePartitionColumnName في عبارة WHERE. انظر المثال في قسم النسخ المتوازي من Netezza.
لا
التقسيم الحد الأقصى لقيمة عمود القسم لنسخ البيانات.
تُطبق عندما يكون خيار التقسيم هو DynamicRange. إذا كنت تستخدم الاستعلام لاسترداد البيانات المصدر، اربط ?AdfRangePartitionUpbound في عبارة WHERE. للحصول على مثال، راجع قسم النسخ المتوازي من Netezza.
لا
partitionLowerBound الحد الأدنى لقيمة عمود القسم لنسخ البيانات.
تُطبق عندما يكون خيار التقسيم هو DynamicRange. إذا كنت تستخدم استعلاماً لاسترداد البيانات المصدر، اربط ?AdfRangePartitionLowbound في عبارة WHERE. للحصول على مثال، راجع قسم النسخ المتوازي من Netezza.
لا

مثال:

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

النسخ المتوازي من Netezza

يوفر موصل Data Factory Netezza تقسيم البيانات المضمنة لنسخ البيانات من Netezza بالتوازي. يمكنك العثور على خيارات تقسيم البيانات في الجدول Source لنشاط النسخ.

لقطة شاشة لخيارات التقسيم

عند تمكين نسخة مقسمة، تشغّل الخدمة استعلامات متوازية مقابل مصدر Netezza لتحميل البيانات بواسطة على أقسام. يتم التحكم في الدرجة المتوازية بواسطة parallelCopies الإعداد على نشاط النسخ. على سبيل المثال، إذا قمت بتعيين parallelCopies إلى أربعة، تقوم الخدمة بشكل متزامن بإنشاء وتشغيل أربعة استعلامات استناداً إلى خيار التقسيم المحدد والإعدادات، ويقوم كل استعلام باسترداد جزء من البيانات من قاعدة بيانات Netezza.

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

السيناريو الإعدادات المقترحة
تحميل كامل من جدول كبير. خيار التقسيم: شريحة البيانات.

أثناء التنفيذ، تقوم الخدمة تلقائياً بتقسيم البيانات استناداً إلى شرائح البيانات المضمنة في Netezza، ونسخ البيانات حسب الأقسام.
تحميل كمية كبيرة من البيانات باستخدام استعلام مخصص. خيار التقسيم: شريحة البيانات.
استعلام: SELECT * FROM <TABLENAME> WHERE mod(datasliceid, ?AdfPartitionCount) = ?AdfDataSliceCondition AND <your_additional_where_clause>.
أثناء التنفيذ، تستبدل الخدمة ?AdfPartitionCount (مع تعيين عدد النسخ المتوازي في نشاط النسخ) ?AdfDataSliceCondition بمنطق تقسيم البيانات إلى شرائح، وترسلها إلى Netezza.
تحميل كمية كبيرة من البيانات باستخدام استعلام مخصص، مع وجود عمود عدد صحيح مع قيمة موزعة بالتساوي لتقسيم النطاق. خيارات التقسيم: تقسيم النطاق الديناميكي.
استعلام: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
عمود التقسيم: حدد العمود المستخدم لتقسيم البيانات. يمكنك التقسيم مقابل العمود بنوع بيانات عدد صحيح.
الحد الأعلى للتقسيموالحد الأدنى للتقسيم: حدد ما إذا كنت تريد التصفية مقابل عمود التقسيم لاسترداد البيانات فقط بين النطاقين الأدنى والأعلى.

أثناء التنفيذ، تستبدل الخدمة ?AdfRangePartitionColumnName و?AdfRangePartitionUpbound و?AdfRangePartitionLowbound باسم العمود الفعلي ونطاقات القيمة لكل قسم، وترسلها إلى Netezza.
على سبيل المثال، إذا تم تعيين "معرف" عمود التقسيم بالحد الأدنى على 1 والحد الأعلى على 80، مع تعيين نسخة متوازية على 4، فستقوم الخدمة باسترداد البيانات على 4 أقسام. هوياتهم تتراوح بين [1،20]، [21، 40]، [41، 60]، [61، 80] على التوالي.

مثال: الاستعلام مع تقسيم البيانات إلى شرائح

"source": {
    "type": "NetezzaSource",
    "query": "SELECT * FROM <TABLENAME> WHERE mod(datasliceid, ?AdfPartitionCount) = ?AdfDataSliceCondition AND <your_additional_where_clause>",
    "partitionOption": "DataSlice"
}

مثال: الاستعلام مع تقسيم النطاق الديناميكي

"source": {
    "type": "NetezzaSource",
    "query": "SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>",
    "partitionOption": "DynamicRange",
    "partitionSettings": {
        "partitionColumnName": "<dynamic_range_partition_column_name>",
        "partitionUpperBound": "<upper_value_of_partition_column>",
        "partitionLowerBound": "<lower_value_of_partition_column>"
    }
}

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

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

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