مشاركة عبر


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

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

تلميح

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

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

هام

يوفر الإصدار 2.0 من Amazon Redshift دعما أصليا محسنا ل Amazon Redshift. إذا كنت تستخدم إصدار 1.0 من أمازون ريدشيفت في حلك، يرجى ترقية موصل أمازون ريدشيفت لأن الإصدار 1.0 في مرحلة نهاية الدعم. سيفشل خط الأنابيب الخاص بك بعد 31 مارس 2026. راجع هذا القسم للحصول على تفاصيل حول الفرق بين الإصدار 2.0 والإصدار 1.0.

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

يتم دعم موصل Amazon Redshift للقدرات التالية:

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

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

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

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

يدعم موصل Amazon Redshift استرداد البيانات من Redshift باستخدام الاستعلام أو دعم Redshift UNLOAD المضمن.

يدعم الموصل إصدارات Windows في هذه المقالة.

تلميح

لتحقيق أفضل أداء عند نسخ كميات كبيرة من البيانات من Redshift، فكر في استخدام Redshift Unload المدمج من خلال Amazon S3. راجع قسم استخدام Unload لنسخ البيانات من Amazon Redshift للحصول على التفاصيل.

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

إذا كنت تقوم بنسخ البيانات إلى مخزن بيانات محلي باستخدام وقت تشغيل التكامل المستضاف ذاتياً، فامنح لوقت تشغيل التكامل (استخدام عنوان IP للجهاز) الوصول إلى نظام مجموعة Amazon Redshift. راجع السماح بالوصول إلى نظام المجموعة للحصول على تعليمات. بالنسبة للإصدار 2.0، يجب أن يكون إصدار وقت التشغيل للدمج المستضاف ذاتيا هو 5.61 أو أعلى.

إذا كنت تقوم بنسخ البيانات إلى مخزن بيانات Azure، فراجع نطاقات IP لمركز بيانات Azure لمعرفة عنوان حساب IP ونطاقات SQL المستخدمة بواسطة مراكز بيانات Azure.

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

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

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

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

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

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

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

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

    حدد الموصل Amazon Redshift.

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

    تكوين خدمة مرتبطة بـAmazon Redshift.

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

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

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

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

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع إلى: AmazonRedshift ‏‏نعم‬
إصدار الإصدار الذي تحدده. نعم للإصدار 2.0.
الخادم عنوان "IP" أو اسم المضيف لخادم Amazon Redshift. ‏‏نعم‬
المنفذ رقم منفذ TCP الذي يستخدمه خادم Amazon Redshift للاستماع إلى اتصالات العميل. لا، الافتراضي هو 5439
قاعدة بيانات اسم قاعدة بيانات Amazon Redshift. ‏‏نعم‬
اسم المستخدم اسم المستخدم الذي لديه حق الوصول إلى قاعدة البيانات. ‏‏نعم‬
كلمة المرور كلمة المرور لحساب المستخدم. ضع علامة على هذا الحقل باعتباره SecureString لتخزينه بشكل آمن، أو قم بالإشارة إلى بيانات سرية مخزنة في Azure Key Vault. ‏‏نعم‬
connectVia Integration Runtime الذي سيتم استخدامه للاتصال بمخزن البيانات. يمكنك استخدام Azure Integration Runtime أو وقت تشغيل التكامل المستضاف ذاتياً (إذا كان مخزن البيانات موجوداً في شبكة خاصة). إذا لم يتم تحديده، فإنه يستخدم Azure Integration Runtime الافتراضي. لا

Note

يدعم الإصدار 2.0 وقت تشغيل تكامل Azure ووقت تشغيل التكامل الذاتي المستضاف الإصدار 5.61 أو أعلى. لم يعد هناك حاجة لتثبيت برنامج التشغيل مع إصدار 5.61 أو أعلى من التكامل المستضاف ذاتيا.

مثال: الإصدار 2.0

{
    "name": "AmazonRedshiftLinkedService",
    "properties":
    {
        "type": "AmazonRedshift",
        "version": "2.0",
        "typeProperties":
        {
            "server": "<server name>",
            "database": "<database name>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

مثال: الإصدار 1.0

{
    "name": "AmazonRedshiftLinkedService",
    "properties":
    {
        "type": "AmazonRedshift",
        "typeProperties":
        {
            "server": "<server name>",
            "database": "<database name>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

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

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

لنسخ البيانات من Amazon Redshift، يتم دعم الخصائص التالية:

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

مثال

{
    "name": "AmazonRedshiftDataset",
    "properties":
    {
        "type": "AmazonRedshiftTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Amazon Redshift linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

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

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

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

Amazon Redshift كمصدر

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

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية نوع مصدر نشاط النسخ إلى: AmazonRedshiftSource ‏‏نعم‬
استعلام قم باستخدام الاستعلام المخصص لقراءة البيانات. على سبيل المثال: حدد * من "MyTable". لا (إذا تم تحديد "tableName" في مجموعة البيانات)
إعادة تحويل تحميل إعدادات مجموعة الخصائص عند استخدام UNLOAD من Amazon Redshift. لا
s3LinkedServiceName يشير إلى Amazon S3 الذي سيتم استخدامه كمتجر مؤقت عن طريق تحديد اسم خدمة مرتبطة من نوع "AmazonS3". نعم إذا كنت تستخدم التفريغ
اسم المستودع أشر إلى حاوية S3 لتخزين البيانات المؤقتة. إذا لم يتم توفيرها، تقوم الخدمة بإنشائها تلقائياً. نعم إذا كنت تستخدم التفريغ

مثال: مصدر Amazon Redshift في نشاط النسخ باستخدام UNLOAD

"source": {
    "type": "AmazonRedshiftSource",
    "query": "<SQL query>",
    "redshiftUnloadSettings": {
        "s3LinkedServiceName": {
            "referenceName": "<Amazon S3 linked service>",
            "type": "LinkedServiceReference"
        },
        "bucketName": "bucketForUnload"
    }
}

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

استخدم UNLOAD لنسخ البيانات من Amazon Redshift

UNLOAD هي آلية توفرها Amazon Redshift يمكنها تفريغ نتائج الاستعلام إلى ملف واحد أو أكثر على خدمة التخزين البسيطة منAmazon (Amazon S3). هذه هي الطريقة التي أوصت بها Amazon لنسخ مجموعة بيانات كبيرة من Redshift.

مثال: نسخ البيانات من Amazon Redshift إلى Azure Synapse Analytics باستخدام UNLOAD والنسخ المرحلي وPolyBase

بالنسبة لحالة استخدام العينة هذه، يقوم نشاط النسخ بتفريغ البيانات من Amazon Redshift إلى Amazon S3 كما تم تكوينها في "redshiftUnloadSettings"، ثم نسخ البيانات من Amazon S3 إلى Azure Blob كما هو محدد في "stagingSettings"، وأخيراً استخدم PolyBase لتحميل البيانات في Azure Synapse Analytics. تتم معالجة جميع التنسيق المؤقت بواسطة نشاط النسخ بشكل صحيح.

سير عمل النسخ من Redshift إلى Azure Synapse Analytics

"activities":[
    {
        "name": "CopyFromAmazonRedshiftToSQLDW",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "AmazonRedshiftDataset",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "AzureSQLDWDataset",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "AmazonRedshiftSource",
                "query": "select * from MyTable",
                "redshiftUnloadSettings": {
                    "s3LinkedServiceName": {
                        "referenceName": "AmazonS3LinkedService",
                        "type": "LinkedServiceReference"
                    },
                    "bucketName": "bucketForUnload"
                }
            },
            "sink": {
                "type": "SqlDWSink",
                "allowPolyBase": true
            },
            "enableStaging": true,
            "stagingSettings": {
                "linkedServiceName": "AzureStorageLinkedService",
                "path": "adfstagingcopydata"
            },
            "dataIntegrationUnits": 32
        }
    }
]

تعيين نوع البيانات لـAmazon Redshift

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

نوع بيانات Amazon Redshift نوع بيانات الخدمة المؤقتة (للإصدار 2.0) نوع بيانات الخدمة المؤقتة (للإصدار 1.0)
BIGINT int64 int64
منطقيه قيمة منطقية السلسلة‬
شار السلسلة‬ السلسلة‬
التاريخ التاريخ والوقت التاريخ والوقت
DECIMAL (الدقة <= 28) عدد عشري عدد عشري
DECIMAL (الدقة > 28) السلسلة‬ السلسلة‬
الدقة المزدوجة مزدوج مزدوج
العدد الصحيح Int32 Int32
حقيقي فردي فردي
smallint Int16 Int16
نص السلسلة‬ السلسلة‬
الطابع الزمني التاريخ والوقت التاريخ والوقت
VARCHAR السلسلة‬ السلسلة‬

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

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

دورة حياة موصل Amazon Redshift والترقية

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

إصدار مرحلة الإصدار سجل التغيير
الإصدار 1.0 يتوفر إصدار GA /
الإصدار 2.0 يتوفر إصدار GA • يدعم Azure Integration Runtime وIntegrated Tooltime الإصدار 5.61 أو أعلى. لم يعد هناك حاجة لتثبيت برنامج التشغيل مع إصدار 5.61 أو أعلى من التكامل المستضاف ذاتيا.

• تتم قراءة BOOLEAN كنوع بيانات منطقية.

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

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

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

  3. تطبيق وقت تشغيل تكامل ذاتي المستضاف مع الإصدار 5.61 أو أعلى. لم يعد هناك حاجة لتثبيت برنامج التشغيل مع إصدار 5.61 أو أعلى من التكامل المستضاف ذاتيا.

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