نسخ البيانات من 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 |
---|---|
نشاط النسخ (مصدر/-) | (1) (2) |
نشاط البحث | (1) (2) |
① وقت تشغيل تكامل Azure ② وقت تشغيل التكامل المستضاف ذاتيًا
للحصول على قائمة مخازن البيانات المدعومة كمصادر أو أحواض بواسطة نشاط النسخ، راجع جدول مخازن البيانات المدعومة.
على وجه التحديد، يدعم موصل Amazon Redshift هذا استرداد البيانات من Redshift باستخدام الاستعلام أو دعم Redshift Unload المدمج.
يدعم الموصل إصدارات Windows في هذه المقالة.
تلميح
لتحقيق أفضل أداء عند نسخ كميات كبيرة من البيانات من Redshift، فكر في استخدام Redshift Unload المدمج من خلال Amazon S3. راجع قسم استخدام Unload لنسخ البيانات من Amazon Redshift للحصول على التفاصيل.
المتطلبات الأساسية
- إذا كنت تقوم بنسخ البيانات إلى مخزن بيانات محلي باستخدام وقت تشغيل التكامل المستضاف ذاتياً، فامنح لوقت تشغيل التكامل (استخدام عنوان IP للجهاز) الوصول إلى نظام مجموعة Amazon Redshift. راجع السماح بالوصول إلى نظام المجموعة للحصول على تعليمات.
- إذا كنت تقوم بنسخ البيانات إلى مخزن بيانات Azure، فراجع نطاقات IP لمركز بيانات Azure لمعرفة عنوان حساب IP ونطاقات SQL المستخدمة بواسطة مراكز بيانات Azure.
الشروع في العمل
لتنفيذ نشاط النسخ باستخدام أحد المسارات، يمكنك استخدام إحدى الأدوات أو عدد تطوير البرامج التالية:
- أداة نسخ البيانات
- مدخل Azure
- The .NET SDK
- عدة تطوير برامج Python
- Azure PowerShell
- واجهة برمجة تطبيقات REST
- قالب Azure Resource Manager
إنشاء خدمة مرتبطة بـAmazon Redshift باستخدام واجهة المستخدم
استخدم الخطوات التالية لإنشاء خدمة مرتبطة بـAmazon Redshift في واجهة مستخدم مدخل Azure.
استعرض للوصول إلى علامة التبويب "Manage" في مصنع بيانات Azure أو مساحة عمل Synapse، وحدد "Linked Services"، ثم انقر فوق "New":
ابحث عن Amazon وحدد الموصل 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. تتم معالجة جميع التنسيق المؤقت بواسطة نشاط النسخ بشكل صحيح.
"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 | السلسلة |
بحث عن خصائص النشاط
لمعرفة تفاصيل حول الخصائص، تحقق من نشاط البحث.
المحتوى ذو الصلة
للحصول على قائمة بمخازن البيانات المدعومة من نشاط النسخ كمصادر ومواضع تلقي، راجع مخازن البيانات المدعومة.