نسخ البيانات من 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. تعتمد هذه المقالة على مقالة نظرة عامة على نشاط النسخ التي تقدم نظرة عامة على نشاط النسخ.

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

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

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

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

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

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

تلميح

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

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

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

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

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

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

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

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

    Select the Amazon Redshift connector.

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

    Configure a linked service to Amazon Redshift.

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

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

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

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

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

مثال:

{
    "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". نعم إذا كنت تستخدم التفريغ
bucketName أشر إلى حاوية 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 to Azure Synapse Analytics copy workflow

"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 نوع بيانات الخدمة المؤقتة
BIGINT Int64
BOOLEAN السلسلة‬
CHAR السلسلة‬
التاريخ DateTime
عشري عدد عشري
DOUBLE PRECISION مزدوج
INTEGER Int32
حقيقي فردي
smallint Int16
TEXT السلسلة‬
الطابع الزمني DateTime
VARCHAR السلسلة‬

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

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

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