انسخ البيانات من Teradata Vantage باستخدام مصنع بيانات Azure وSynapse Analytics
ينطبق على: Azure Data Factory Azure Synapse Analytics
تلميح
جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!
توضح هذه المقالة كيفية استخدام نشاط النسخ في مصنع بيانات Azure ومسارات Synapse Analytics لنسخ البيانات من Teradata Vantage. وهو يعتمد على نظرة عامة على نشاط النسخ.
القدرات المدعومة
موصل Teradata هذا مدعوم للإمكانيات التالية:
القدرات المدعومة | IR |
---|---|
نشاط النسخ (مصدر/-) | (1) (2) |
نشاط البحث | (1) (2) |
① وقت تشغيل تكامل Azure ② وقت تشغيل التكامل المستضاف ذاتيًا
للحصول على قائمة بمخازن البيانات المدعومة كمصادر/متلقيات بواسطة نشاط النسخ، راجع جدول مخازن البيانات المدعومة.
على وجه التحديد، يدعم موصل Teradata هذا:
- Teradata الإصدار 14.10 و15.0 و15.10 و16.0 و16.10 و16.20.
- نسخ البيانات باستخدام مصادقة Basic أو Windows أو LDAP .
- النسخ المتوازي من مصدر Teradata. راجع قسم النسخ المتوازي من Teradata للحصول على التفاصيل.
المتطلبات الأساسية
إذا كان مخزن البيانات الخاص بك موجوداً داخل شبكة محلية، أو شبكة Azure ظاهرية، أو Amazon Virtual Private Cloud، فأنت بحاجة إلى تكوين وقت تشغيل تكامل مستضاف ذاتياً للاتصال به.
إذا كان مخزن البيانات الخاص بك عبارة عن خدمة بيانات سحابية مُدارة، يمكنك استخدام Azure Integration Runtime. إذا كان الوصول مقتصراً على عناوين IP التي تمت الموافقة عليها في قواعد جدار الحماية، يمكنك إضافة عناوين IP لـ Azure Integration Runtime إلى قائمة السماح.
يمكنك أيضاً استخدام ميزة وقت تشغيل تكامل الشبكة الظاهرية المُدارة في Azure Data Factory للوصول إلى الشبكة المحلية دون تثبيت وقت تشغيل تكامل مستضاف ذاتياً وتكوينه.
لمزيد من المعلومات حول آليات وخيارات أمان الشبكة التي يدعمها Data Factory، راجع إستراتيجيات الوصول إلى البيانات.
إذا كنت تستخدم وقت تشغيل التكامل، فلاحظ أنه يوفر برنامج تشغيل Teradata مضمناً بدءاً من الإصدار 3.18. لا تحتاج إلى تثبيت أي برنامج تشغيل يدوياً. يتطلب برنامج التشغيل "Visual C ++ Redistributable 2012 Update 4" على جهاز وقت تشغيل التكامل المستضاف ذاتياً. إذا لم يكن مثبتا لديك بعد، فبادر بتنزيله من هنا.
الشروع في العمل
لتنفيذ نشاط النسخ باستخدام أحد المسارات، يمكنك استخدام إحدى الأدوات أو عدد تطوير البرامج التالية:
- أداة نسخ البيانات
- مدخل Azure
- The .NET SDK
- عدة تطوير برامج Python
- Azure PowerShell
- واجهة برمجة تطبيقات REST
- قالب Azure Resource Manager
قم بإنشاء خدمة مرتبطة بـ Teradata باستخدام واجهة المستخدم
استخدم الخطوات التالية لإنشاء خدمة مرتبطة بـ Teradata في واجهة مستخدم بوابة Azure.
استعرض للوصول إلى علامة التبويب "Manage" في مصنع بيانات Azure أو مساحة عمل Synapse، وحدد "Linked Services"، ثم انقر فوق "New":
ابحث عن Teradata وحدد موصل Teradata.
قم بتكوين تفاصيل الخدمة، واختبر الاتصال، وأنشئ الخدمة المرتبطة الجديدة.
تفاصيل تكوين الموصل
توفر الأقسام التالية تفاصيل حول الخصائص المستخدمة لتحديد كيانات مصنع البيانات الخاصة بموصل Teradata.
خصائص الخدمة المرتبطة
تدعم خدمة Teradata المرتبطة الخصائص التالية:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية النوع إلى Teradata. | نعم |
سلسلة الاتصال | يحدد المعلومات المطلوبة للاتصال بمثيل Teradata. الرجوع إلى العينات التالية. يمكنك أيضاً وضع كلمة مرور في Azure Key Vault وسحب password التكوين من سلسلة الاتصال. راجع تخزين بيانات الاعتماد في Azure Key Vault للحصول على المزيد من التفاصيل. |
نعم |
اسم المستخدم | حدد اسم مستخدم للاتصال بـ Teradata. ينطبق عند استخدام مصادقة Windows. | لا |
كلمة المرور | حدد كلمة مرور لحساب المستخدم الذي حددته لاسم المستخدم. يمكنك أيضا اختيار الرجوع إلى سر مخزن في Azure Key Vault. ينطبق عند استخدام مصادقة Windows، أو الرجوع إلى كلمة مرور في Key Vault للمصادقة الأساسية. |
لا |
connectVia | Integration Runtime الذي سيتم استخدامه للاتصال بمخزن البيانات. تعرف على المزيد من قسم المتطلبات الأساسية. إذا لم يتم تحديده، فإنه يستخدم Azure Integration Runtime الافتراضي. | لا |
خصائص اتصال أكثر يمكنك تعيينها في سلسلة اتصال لكل حالة:
الخاصية | الوصف | القيمة الافتراضية |
---|---|---|
TdmstPortNumber | رقم المنفذ المستخدم للوصول إلى قاعدة بيانات Teradata. لا تقم بتغيير هذه القيمة إلا إذا طلب منك ذلك الدعم الفني. |
1025 |
UseDataEncryption | يحدد ما إذا كان سيتم تشفير جميع الاتصالات بقاعدة بيانات Teradata. القيم المسموح بها هي 0 أو 1. - 0 (معطل، افتراضي): تشفير معلومات المصادقة فقط. - 1 (ممكن): تشفير كافة البيانات التي يتم تمريرها بين برنامج التشغيل وقاعدة البيانات. |
0 |
مجموعة الأحرف | مجموعة الأحرف المراد استخدامها للجلسة. على سبيل المثال، CharacterSet=UTF16 .يمكن أن تكون هذه القيمة مجموعة أحرف معرفة من قبل المستخدم، أو إحدى مجموعات الأحرف المعرفة مسبقا التالية: - ASCII - UTF8 - UTF16 - LATIN1252_0A - LATIN9_0A - LATIN1_0A - Shift-JIS (Windows, DOS compatible, KANJISJIS_0S) - EUC (Unix compatible, KANJIEC_0U) - IBM Mainframe (KANJIEBCDIC5035_0I) - KANJI932_1S0 - BIG5 (TCHBIG5_1R0) - GB (SCHGB2312_1T0) - SCHINESE936_6R0 - TCHINESE950_8R0 - NetworkKorean (HANGULKSC5601_2R4) - HANGUL949_7R0 - ARABIC1256_6A0 - CYRILLIC1251_2A0 - HEBREW1255_5A0 - LATIN1250_1A0 - LATIN1254_7A0 - LATIN1258_8A0 - THAI874_4A0 |
ASCII |
MaxRespSize | الحد الأقصى لحجم مخزن الاستجابة لطلبات SQL بالكيلو بايت (KB). على سبيل المثال، MaxRespSize=10485760 .بالنسبة للإصدار 16.00 من قاعدة بيانات Teradata أو أحدث، تكون القيمة القصوى هي 7361536. بالنسبة للاتصالات التي تستخدم إصدارات سابقة، تكون القيمة القصوى هي 1048576. |
65536 |
اسم الآلية | لاستخدام بروتوكول LDAP لمصادقة الاتصال، حدد MechanismName=LDAP . |
غير متوفر |
مثال على استخدام المصادقة الأساسية
{
"name": "TeradataLinkedService",
"properties": {
"type": "Teradata",
"typeProperties": {
"connectionString": "DBCName=<server>;Uid=<username>;Pwd=<password>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
مثال على استخدام مصادقة Windows
{
"name": "TeradataLinkedService",
"properties": {
"type": "Teradata",
"typeProperties": {
"connectionString": "DBCName=<server>",
"username": "<username>",
"password": "<password>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
مثال على استخدام مصادقة LDAP
{
"name": "TeradataLinkedService",
"properties": {
"type": "Teradata",
"typeProperties": {
"connectionString": "DBCName=<server>;MechanismName=LDAP;Uid=<username>;Pwd=<password>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
إشعار
الحمولة التالية لا تزال مدعومة. للمضي قدماً، ومع ذلك، يجب عليك استخدام الجديد.
البيانات الأساسية السابقة:
{
"name": "TeradataLinkedService",
"properties": {
"type": "Teradata",
"typeProperties": {
"server": "<server>",
"authenticationType": "<Basic/Windows>",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
خصائص مجموعة البيانات
يوفر هذا القسم قائمة بالخصائص التي تدعمها مجموعة بيانات Teradata. للاطلاع على قائمة كاملة للأقسام والخصائص المتوفرة لتحديد مجموعات البيانات، راجع مجموعات البيانات.
لنسخ البيانات من Teradata، يتم دعم الخصائص التالية:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية نوع مجموعة البيانات إلىTeradataTable . |
نعم |
قاعدة بيانات | اسم مثيل Teradata. | لا (إذا تم تحديد "الاستعلام" في مصدر النشاط) |
طاولتنا | اسم الجدول في مثيل Teradata. | لا (إذا تم تحديد "الاستعلام" في مصدر النشاط) |
مثال:
{
"name": "TeradataDataset",
"properties": {
"type": "TeradataTable",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<Teradata linked service name>",
"type": "LinkedServiceReference"
}
}
}
إشعار
RelationalTable
لا تزال مجموعة بيانات النوع مدعومة. ومع ذلك، نوصي باستخدام مجموعة البيانات الجديدة.
البيانات الأساسية السابقة:
{
"name": "TeradataDataset",
"properties": {
"type": "RelationalTable",
"linkedServiceName": {
"referenceName": "<Teradata linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {}
}
}
انسخ خصائص النشاط
يوفر هذا القسم قائمة بالخصائص التي يدعمها مصدر Teradata. للحصول على قائمة كاملة بالأقسام والخصائص المتوفرة لتعريف الأنشطة، راجع البنية الأساسية لبرنامج ربط العمليات التجارية.
تيراتا كمصدر
تلميح
لتحميل البيانات من Teradata بكفاءة باستخدام تقسيم البيانات، تعرف على المزيد من قسم النسخ المتوازي من Teradata .
لنسخ البيانات من Teradata، يتم دعم الخصائص التالية في قسم مصدر نشاط النسخ:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية نوع مصدر نشاط النسخ إلى TeradataSource . |
نعم |
استعلام | استخدم استعلام SQL المخصص لقراءة البيانات. مثال على ذلك "SELECT * FROM MyTable" .عند تمكين التحميل المقسم، ستحتاج إلى ربط أي معلمات التقسيم المدرجة المقابلة في الاستعلام الخاص بك. للحصول على أمثلة، راجع قسم النسخة المتوازية من Teradata . |
لا (إذا تم تحديد جدول في مجموعة البيانات) |
خيارات التقسيم | يحدد خيارات تقسيم البيانات المستخدمة لتحميل البيانات من Teradata. قيم السماح هي: بلا (افتراضي) وتجزئة وDynamicRange. عند تمكين خيار قسم (أي، ليس None )، يتم التحكم في درجة التوازي لتحميل البيانات بشكل متزامن من Teradata بواسطة parallelCopies الإعداد في نشاط النسخ. |
لا |
partitionSettings | حدد مجموعة الإعدادات الخاصة بتقسيم البيانات. تُطبق عندما يكون خيار التقسيم ليس None . |
لا |
partitionColumnName | حدد اسم عمود المصدر الذي سيستخدمه قسم النطاق أو قسم التجزئة للنسخة المتوازية. إذا لم يتم تحديده، فسيتم اكتشاف الفهرس الأساسي للجدول تلقائياً واستخدامه كعمود قسم. تطبيق عندما يكون خيار القسم أو Hash DynamicRange . إذا كنت تستخدم استعلاماً لاسترداد بيانات المصدر، فقم بالربط ?AdfHashPartitionCondition أو ?AdfRangePartitionColumnName في عبارة WHERE. راجع المثال في قسم النسخ المتوازي من Teradata . |
لا |
التقسيم | الحد الأقصى لقيمة عمود القسم لنسخ البيانات. تُطبق عندما يكون خيار التقسيم هو DynamicRange . إذا كنت تستخدم الاستعلام لاسترداد البيانات المصدر، اربط ?AdfRangePartitionUpbound في عبارة WHERE. على سبيل المثال، راجع قسم النسخة المتوازية من Teradata . |
لا |
partitionLowerBound | الحد الأدنى لقيمة عمود القسم لنسخ البيانات. تُطبق عندما يكون خيار التقسيم هو DynamicRange . إذا كنت تستخدم استعلاماً لاسترداد البيانات المصدر، اربط ?AdfRangePartitionLowbound في عبارة WHERE. على سبيل المثال، راجع قسم النسخة المتوازية من Teradata . |
لا |
إشعار
RelationalSource
لا يزال مصدر نسخ النوع مدعوما، ولكنه لا يدعم التحميل المتوازي المضمن الجديد من Teradata (خيارات القسم). ومع ذلك، نوصي باستخدام مجموعة البيانات الجديدة.
مثال: نسخ البيانات باستخدام استعلام أساسي بدون قسم
"activities":[
{
"name": "CopyFromTeradata",
"type": "Copy",
"inputs": [
{
"referenceName": "<Teradata input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "TeradataSource",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
نسخة موازية من Teradata
يوفر موصل Teradata تقسيماً داخلياً للبيانات لنسخ البيانات من Teradata على التوازي. يمكنك العثور على خيارات تقسيم البيانات في الجدول Source لنشاط النسخ.
عند تمكين النسخ المقسمة، تقوم الخدمة بتشغيل استعلامات متوازية مقابل مصدر Teradata لتحميل البيانات حسب الأقسام. يتم التحكم في الدرجة المتوازية بواسطة parallelCopies
الإعداد على نشاط النسخ. على سبيل المثال، إذا قمت بتعيين parallelCopies
إلى أربعة، تقوم الخدمة بشكل متزامن بإنشاء وتشغيل أربعة استعلامات استنادا إلى خيار القسم المحدد والإعدادات، ويسترد كل استعلام جزءا من البيانات من Teradata.
يُقترح عليك تمكين النسخ المتوازي مع تقسيم البيانات خاصة عند تحميل كمية كبيرة من البيانات من Teradata. فيما يلي تكوينات مقترحة لسيناريوهات مختلفة. عند نسخ البيانات إلى مخزن بيانات مستند إلى ملف، يوصى بالكتابة إلى مجلد كملفات متعددة (حدد اسم المجلد فقط)، وفي هذه الحالة يكون الأداء أفضل من الكتابة إلى ملف واحد.
السيناريو | الإعدادات المقترحة |
---|---|
تحميل كامل من جدول كبير. | خيار القسم: التجزئة. أثناء التنفيذ، تكتشف الخدمة تلقائياً عمود الفهرس الأساسي، وتطبق التجزئة عليه، ونسخ البيانات حسب الأقسام. |
تحميل كمية كبيرة من البيانات باستخدام استعلام مخصص. | خيار القسم: التجزئة. استعلام: SELECT * FROM <TABLENAME> WHERE ?AdfHashPartitionCondition AND <your_additional_where_clause> .عمود القسم: حدد العمود المستخدم لتطبيق قسم التجزئة. إذا لم يتم تحديده، تكتشف الخدمة تلقائياً عمود PK في الجدول الذي حددته في مجموعة بيانات Teradata. أثناء التنفيذ، تستبدل ?AdfHashPartitionCondition الخدمة بمنطق قسم التجزئة، وترسل إلى Teradata. |
تحميل كمية كبيرة من البيانات باستخدام استعلام مخصص، مع وجود عمود عدد صحيح مع قيمة موزعة بالتساوي لتقسيم النطاق. | خيارات التقسيم: تقسيم النطاق الديناميكي. استعلام: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause> .عمود التقسيم: حدد العمود المستخدم لتقسيم البيانات. يمكنك التقسيم مقابل العمود بنوع بيانات عدد صحيح. الحد الأعلى للتقسيموالحد الأدنى للتقسيم: حدد ما إذا كنت تريد التصفية مقابل عمود التقسيم لاسترداد البيانات فقط بين النطاقين الأدنى والأعلى. أثناء التنفيذ، تستبدل ?AdfRangePartitionColumnName الخدمة و ?AdfRangePartitionUpbound و ?AdfRangePartitionLowbound باسم العمود الفعلي ونطاقات القيمة لكل قسم، وترسل إلى Teradata. على سبيل المثال، إذا تم تعيين "معرف" عمود التقسيم بالحد الأدنى على 1 والحد الأعلى على 80، مع تعيين نسخة متوازية على 4، فستقوم الخدمة باسترداد البيانات على 4 أقسام. هوياتهم تتراوح بين [1،20]، [21، 40]، [41، 60]، [61، 80] على التوالي. |
مثال: استعلام بقسم التجزئة
"source": {
"type": "TeradataSource",
"query": "SELECT * FROM <TABLENAME> WHERE ?AdfHashPartitionCondition AND <your_additional_where_clause>",
"partitionOption": "Hash",
"partitionSettings": {
"partitionColumnName": "<hash_partition_column_name>"
}
}
مثال: الاستعلام مع تقسيم النطاق الديناميكي
"source": {
"type": "TeradataSource",
"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>"
}
}
تعيين نوع البيانات لـ Teradata
عند نسخ البيانات من Teradata، تنطبق التعيينات التالية من أنواع بيانات Teradata إلى أنواع البيانات الداخلية التي تستخدمها الخدمة. لمعرفة كيفية تعيين نشاط النسخ للمخطط المصدر ونوع البيانات إلى المتلقي، راجع تعيينات المخطط ونوع البيانات.
نوع بيانات Teradata | نوع بيانات الخدمة المؤقتة |
---|---|
عدد صحيح كبير | Int64 |
كائن ثنائي كبير الحجم | بايت [] |
بايت | بايت [] |
بايت | Int16 |
Char | السلسلة |
Clob | السلسلة |
التاريخ | DateTime |
عدد عشري | عدد عشري |
مزدوج | مزدوج |
الرسم | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
رقم صحيح | Int32 |
يوم الفاصل | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
الفاصل الزمني من يوم إلى ساعة | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
الفاصل الزمني من يوم إلى دقيقة | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
الفاصل الزمني من يوم إلى ثانية | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
ساعة الفاصل | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
الفاصل من ساعة إلى دقيقة | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
الفاصل الزمني من ساعة إلى ثانية | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
الفاصل دقيقة | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
الفاصل من دقيقة إلى ثانية | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
الفاصل الزمني شهر | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
الفاصل الثاني | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
السنة الفاصلة | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
الفاصل الزمني من سنة إلى شهر | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
الرقم | مزدوج |
الفترة (التاريخ) | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
الفترة (الوقت) | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
الفترة (الوقت مع المنطقة الزمنية) | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
الفترة (الطابع الزمني) | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
الفترة (الطابع الزمني بالمنطقة الزمنية) | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
SmallInt | Int16 |
الوقت | TimeSpan |
الوقت مع المنطقة الزمنية | TimeSpan |
طابع زمني | DateTime |
الطابع الزمني مع المنطقة الزمنية | DateTime |
VarByte | بايت [] |
VarChar | السلسلة |
VarGraphic | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
Xml | غير مدعومة. تطبيق صريح في الاستعلام المصدر. |
بحث عن خصائص النشاط
لمعرفة تفاصيل حول الخصائص، تحقق من نشاط البحث.
المحتوى ذو الصلة
للحصول على قائمة بمخازن البيانات المدعومة كمصادر ومتلقين من خلال نشاط النسخ، انظر مخازن البيانات المدعومة .