إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على:
Azure Data Factory
Azure Synapse Analytics
تلميح
جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!
في هذا البرنامج التعليمي، يمكنك إنشاء Azure Data Factory مع مسار يقوم بتحميل بيانات دلتا من جداول متعددة في قاعدة بيانات SQL Server إلى قاعدة بيانات في قاعدة بيانات Azure SQL.
نفذ الخطوات التالية في هذا البرنامج التعليمي:
- إعداد مخازن بيانات المصدر والوجهة.
- إنشاء data factory.
- إنشاء وقت تشغيل تكامل الاستضافة الذاتية.
- ثبت أداة وقت تشغيل التكامل.
- أنشئ الخدمة ذات الصلة.
- أنشئ مجموعات بيانات المورد والمصدر والعلامة المائية.
- إنشاء خط أنابيب وتشغيله ومراقبة.
- راجع النتائج.
- إضافة بيانات أو تحديثها في جداول المصدر.
- مراقبة تشغيل المسار.
- راجع النتائج التالية.
نظرة عامة
فيما يلي الخطوات الهامة لإنشاء هذا الحل:
حدد عمود العلامة المائية.
حدد عموداً واحداً لكل جدول في مخزن البيانات المصدر، والذي يمكن استخدامه لتحديد السجلات الجديدة أو المحدثة لكل تشغيل. عادةً ما تستمر البيانات الموجودة في هذا العمود المحدد في الزيادة (على سبيل المثال، last_modify_time أو معرف) عند إنشاء صفوف أو تحديثها. تستخدم أعلى قيمة في هذا العمود كعلامة مائية.
أعد مخزن بيانات لتخزين قيمة العلامة المائية.
في هذا البرنامج التعليمي، يمكنك تخزين قيمة العلامة المائية في قاعدة بيانات SQL.
إنشاء خط أنابيب مع الأنشطة التالية:
أ. إنشاء نشاط ForEach الذي يبتكر من خلال قائمة أسماء الجداول المصدر التي يتم تمريرها كمعلمة إلى خط الأنابيب. لكل جدول مصدر استدعاء الأنشطة التالية لتنفيذ تحميل دلتا لهذا الجدول.
ب. إنشاء نشاطين من أنشطة البحث. استخدم نشاط البحث الأول لاسترداد قيمة العلامة المائية الأخيرة. استخدم نشاط البحث الثاني لاسترداد قيمة العلامة المائية الجديدة. يتم تمرير قيم هذه العلامات المائية إلى نشاط النسخ.
جـ. أنشئ نشاط نسخ ينسخ صفوف من مخزن بيانات المصدر مع إدخال قيمة لعمود العلامة المائية أكبر من قيمة العلامة المائية القديمة وأقل من قيمة العلامة المائية الجديدة. بعد ذلك، ينسخ بيانات "دلتا" من مخزن بيانات المصدر إلى تخزين Azure Blob كملف جديد.
د. أنشئ نشاط StoredProcedure الذي يحدث قيمة العلامة المائية للمسار الذي سيتم تشغيله في المرة القادمة.
فيما يلي رسم تخطيطي لحل رفيع المستوى:
في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
المتطلبات الأساسية
- خادم SQL. يمكنك استخدام قاعدة بيانات SQL Server كمخزن البيانات المصدر في هذا البرنامج التعليمي.
- قاعدة بيانات Azure SQL. يمكنك استخدام قاعدة بيانات في قاعدة بيانات SQL Azure كمخزن بيانات مصدر. في حالة عدم امتلاك قاعدة بيانات في SQL Database، يرجى الرجوع إلى إنشاء قاعدة بيانات في Azure SQL Database للاطلاع على خطواتإنشاء واحدة.
إنشاء جداول المصدر في قاعدة بيانات SQL Server
افتح SQL Server Management Studio واتصل بالخادم الأول.
في مستكشف العناصرانقر بزر الماوس الأيمن فوق database وحدد New Query.
تشغيل الأمر SQL التالية مقابل قاعدة البيانات لإنشاء جداول
customer_tableالمسماةproject_tableو:create table customer_table ( PersonID int, Name varchar(255), LastModifytime datetime ); create table project_table ( Project varchar(255), Creationtime datetime ); INSERT INTO customer_table (PersonID, Name, LastModifytime) VALUES (1, 'John','9/1/2017 12:56:00 AM'), (2, 'Mike','9/2/2017 5:23:00 AM'), (3, 'Alice','9/3/2017 2:36:00 AM'), (4, 'Andy','9/4/2017 3:21:00 AM'), (5, 'Anny','9/5/2017 8:06:00 AM'); INSERT INTO project_table (Project, Creationtime) VALUES ('project1','1/1/2015 0:00:00 AM'), ('project2','2/2/2016 1:23:00 AM'), ('project3','3/4/2017 5:16:00 AM');
إنشاء جداول الوجهة في قاعدة بياناتك
افتح SQL Server Management Studio، واتصل بقاعدة البيانات الخاصة بك في Azure SQL Database.
في مستكشف العناصرانقر بزر الماوس الأيمن فوق database وحدد New Query.
تشغيل الأمر SQL التالية مقابل قاعدة البيانات لإنشاء جداول
customer_tableالمسماةproject_tableو:create table customer_table ( PersonID int, Name varchar(255), LastModifytime datetime ); create table project_table ( Project varchar(255), Creationtime datetime );
أنشئ جدول أخر في قاعدة بياناتك لتخزين أعلى قيمة للعلامة المائية
شغل أمر SQL التالي مقابل قاعدة بياناتك في SQL لإنشاء جدول باسم
watermarktableلتخزين قيمة العلامة المائية:create table watermarktable ( TableName varchar(255), WatermarkValue datetime, );إدراج قيم العلامة المائية الأولية لكلا الجدولين المصدرين في جدول العلامة المائية.
INSERT INTO watermarktable VALUES ('customer_table','1/1/2010 12:00:00 AM'), ('project_table','1/1/2010 12:00:00 AM');
أنشئ إجراء مخزن في قاعدة بياناتك
تشغيل الأمر التالي لإنشاء إجراء مخزن في قاعدة البيانات الخاصة بك. هذا الإجراء المخزن بتحديث قيمة العلامة المائية بعد تشغيل كل خط أنابيب.
CREATE PROCEDURE usp_write_watermark @LastModifiedtime datetime, @TableName varchar(50)
AS
BEGIN
UPDATE watermarktable
SET [WatermarkValue] = @LastModifiedtime
WHERE [TableName] = @TableName
END
إنشاء أنواع البيانات والإجراءات المخزنة الإضافية في قاعدة بياناتك
تشغيل الاستعلام التالي لإنشاء اثنين من الإجراءات المخزنة ونوعي بيانات في قاعدة البيانات الخاصة بك. يتم استخدامها لدمج البيانات من جداول المصدر في جداول الوجهة.
من أجل جعل الرحلة سهلة لتبدأ، ونحن نستخدم مباشرة هذه الإجراءات المخزنة تمرير البيانات دلتا في عبر متغير الجدول ومن ثم دمج لهم في مخزن الوجهة. كن حذرا فإنه لا تتوقع عدد "كبير" من صفوف دلتا (أكثر من 100) ليتم تخزينها في متغير الجدول.
إذا كنت بحاجة إلى دمج عدد كبير من صفوف "دلتا" في المتجر الوجهة، فإننا نقترح عليك استخدام نشاط النسخ لنسخ جميع بيانات "دلتا" إلى جدول "مرحلي" مؤقت في المتجر الوجهة أولاً، ثم إنشاء الإجراء المخزن الخاص بك بدون استخدام متغير الجدول لدمجها من جدول "التدريج" إلى الجدول "النهائي".
CREATE TYPE DataTypeforCustomerTable AS TABLE(
PersonID int,
Name varchar(255),
LastModifytime datetime
);
GO
CREATE PROCEDURE usp_upsert_customer_table @customer_table DataTypeforCustomerTable READONLY
AS
BEGIN
MERGE customer_table AS target
USING @customer_table AS source
ON (target.PersonID = source.PersonID)
WHEN MATCHED THEN
UPDATE SET Name = source.Name,LastModifytime = source.LastModifytime
WHEN NOT MATCHED THEN
INSERT (PersonID, Name, LastModifytime)
VALUES (source.PersonID, source.Name, source.LastModifytime);
END
GO
CREATE TYPE DataTypeforProjectTable AS TABLE(
Project varchar(255),
Creationtime datetime
);
GO
CREATE PROCEDURE usp_upsert_project_table @project_table DataTypeforProjectTable READONLY
AS
BEGIN
MERGE project_table AS target
USING @project_table AS source
ON (target.Project = source.Project)
WHEN MATCHED THEN
UPDATE SET Creationtime = source.Creationtime
WHEN NOT MATCHED THEN
INSERT (Project, Creationtime)
VALUES (source.Project, source.Creationtime);
END
إنشاء مصدرًا للبيانات
شغِّل إما مستعرض الويب Microsoft Edge أو Google Chrome. يتم حاليًّا دعم واجهة مستخدم Data Factory فقط في مستعرضي الويب Microsoft Edge وGoogle Chrome.
في القائمة العلوية، حدد Create a resource>Analytics>Data Factory :
في صفحة مصنع بيانات جديد، أدخل ADFMultiIncCopyTutorialDFللاسم.
يجب أن يكون اسم Azure data factory مميزاً بصفة عمومية. إذا رأيت علامة تعجب حمراء مع الخطأ التالي تغيير اسم مصنع البيانات (على سبيل المثال، yournameADFIncCopyTutorialDF) ثم حاول إنشاء مرة أخرى. راجع المقالةData Factory - Naming Rules لمعرفة قواعد تسمية أدوات مصنع البيانات.
Data factory name "ADFIncCopyTutorialDF" is not availableحدد اشتراك Azure الذي تريد إنشاء مصنع البيانات فيه.
بالنسبة Resource Group، نفِّذ إحدى الخطوات التالية:
- حدد Use existing واختر مجموعة موارد موجودة من القائمة المنسدلة.
- حدد Create new وأدخل اسم مجموعة الموارد.
للتعرف على مجموعات الموارد، يُرجى الرجوع إلى استخدام مجموعات الموارد لإدارة موارد Azure.
حدد "V2" لحقل"version".
حدد موقع، مصِّنع البيانات. لن تظهر القائمة المنسدلة إلا على المواقع المعتمدة فقط. تخزن البيانات (Azure Storage، وAzure SQL Database، وما إلى ذلك) وتحسب (HDInsight، وما إلى ذلك) التي يستخدمها مصنع البيانات في مناطق أخرى.
انقر فوق Create.
بعد الانتهاء من الإنشاء، ستظهر صفحة مصنع البيانات كما هو موضح في الصورة.
حدد Open على تجانب Open Azure Data Factory Studio لبدء تشغيل تطبيق واجهة مستخدم Azure Data Factory الموجود في علامة تبويب منفصلة.
إنشاء وقت تشغيل التكامل المستضاف ذاتيًا
أثناء نقل البيانات من مخزن بيانات في شبكة اتصال خاصة (محلية) إلى مخزن بيانات Azure، قم بتثبيت وقت تشغيل تكامل ذاتي الاستضافة (IR) في البيئة الداخلية. ينقل IR المستضاف ذاتيا البيانات بين الشبكة الخاصة وAzure.
في الصفحة الرئيسية لواجهة مستخدم Azure Data Factory، حدد علامة التبويب إدارة من الجزء الموجود في أقصى اليسار.
حدد أوقات تشغيل التكامل على الجزء الأيسر، ثم حدد +جديد.
حدد في نافذة إعداد وقت التشغيل التكامل خيار تنفيذ نقل البيانات وإرسال الأنشطة إلى حسابات خارجيةثم انقر فوق التالي.
حدد ذاتي الاستضافة، وانقر فوق متابعة.
أدخل MySelfHostedIRللاسم، وانقر فوق إنشاء.
انقر فوق هنا لبدء الإعداد السريع لهذا الكمبيوتر في قسم الخيار 1: إعداد Express .
في نافذة تشغيل التكامل لـ Express Setup (ذاتي الاستضافة)، انقر فوق إغلاق.
في مستعرض الويب، في نافذة إعداد وقت التشغيل التكامل، انقر فوق إنهاء.
تأكد من أنك ترى MySelfHostedIR في قائمة أوقات تشغيل التكامل.
إنشاء linked services
إنشاء خدمات مرتبطة في مصنع بيانات لربط مخازن بياناتك وحساب الخدمات إلى مصنع البيانات. في هذا القسم، يمكنك إنشاء خدمات مرتبطة بقاعدة بيانات SQL Server وقاعدة البيانات الخاصة بك في قاعدة بيانات azure SQL.
إنشاء الخدمة المرتبطة SQL Server
في هذه الخطوة، يمكنك ربط قاعدة بيانات SQL Server بمصنع البيانات.
في إطار الاتصالات، قم بالتبديل من علامة التبويب أوقات تشغيل التكامل إلى علامة التبويب الخدمات المرتبطة، وانقر فوق + جديد.
في إطار "الخدمة المرتبطة الجديدة"، حدد SQL Server، وانقر فوق متابعة.
في نافذة New Linked Service، قم بالخطوات التالية:
- أدخل SqlServerLinkedServiceللاسم.
- حدد MySelfHostedIRالاتصال عبر وقت تشغيل التكامل. وهذه خطوة هامة. لا يمكن الاتصال وقت تشغيل التكامل الافتراضي إلى مخزن بيانات محلي. استخدم وقت تشغيل التكامل المستضاف ذاتيا الذي قمت بإنشائه سابقا.
- بالنسبة إلى اسم الملقم، أدخل اسم الكمبيوتر الذي يحتوي على قاعدة بيانات SQL Server.
- بالنسبة إلى اسم قاعدة البيانات، أدخل اسم قاعدة البيانات في SQL Server الذي يحتوي على بيانات المصدر. إنشاء جدول وإدراج البيانات في قاعدة البيانات هذه كجزء من المتطلبات الأساسية.
- بالنسبة لنوع المصادقة، حدد نوع المصادقة التي تريد استخدامها للاتصال بقاعدة البيانات.
- بالنسبة إلى اسم المستخدم، أدخل اسم المستخدم الذي لديه حق الوصول إلى قاعدة بيانات SQL Server. إذا كنت بحاجة إلى استخدام حرف مائل (
\) في حساب المستخدم أو اسم الخادم، فاستخدم حرف الهروب (\). مثال على ذلكmydomain\\myuser. - وبالنسبة لكلمة المرور، أدخل كلمة مرور المستخدم.
- لاختبار ما إذا كان مصنع البيانات يمكنه الاتصال بقاعدة بيانات SQL Server، فانقر فوق اختبار الاتصال. إصلاح أي أخطاء حتى ينجح الاتصال.
- لحفظ الخدمة المرتبطة، انقر فوق إنهاء.
إنشاء خدمة مرتبطة بقاعدة بيانات Azure SQL
في الخطوة الأخيرة، يمكنك إنشاء خدمة مرتبطة لربط قاعدة بيانات المصدر SQL Server بمصنع البيانات. في هذه الخطوة، يمكنك ربط قاعدة بيانات الوجهة/الحوض بمصنع البيانات.
في إطار الاتصالات، قم بالتبديل من علامة التبويب أوقات تشغيل التكامل إلى علامة التبويب الخدمات المرتبطة، وانقر فوق + جديد.
في نافذة "New Linked Service"، حدد "Azure SQL Database"، ثم حدد "Continue".
في نافذة New Linked Service، قم بالخطوات التالية:
- سجل "AzureSqlDatabaseLinkedService" في مربع "Name".
- بالنسبة لاسم الخادم، حدد اسم الخادم من القائمة المنسدلة.
- بالنسبة إلى اسم قاعدة البيانات، حدد قاعدة البيانات التي قمت بإنشائها customer_table project_table كجزء من المتطلبات الأساسية.
- بالنسبة إلى اسم المستخدم، أدخل اسم المستخدم الذي لديه حق الوصول إلى قاعدة البيانات.
- وبالنسبة لكلمة المرور، أدخل كلمة مرور المستخدم.
- لاختبار ما إذا كان مصنع البيانات يمكنه الاتصال بقاعدة بيانات SQL Server، فانقر فوق اختبار الاتصال. إصلاح أي أخطاء حتى ينجح الاتصال.
- لحفظ الخدمة المرتبطة، انقر فوق إنهاء.
تأكد من مشاهدة اثنين من الخدمات المرتبطة في القائمة.
إنشاء datasets
في هذه الخطوة، يمكنك إنشاء مجموعات البيانات لتمثيل مصدر البيانات ووجهة البيانات والمكان لتخزين العلامة المائية.
قم بإنشاء مجموعة بيانات المصدر
أنقر فوق "+ (plus)" في اللوحة اليسرى، ثم أنقر فوق "مجموعة البيانات".
في نافذة مجموعة البيانات الجديدة، حدد SQL Server، انقر فوق متابعة.
تظهر علامة تبويب جديدة مفتوحة في مستعرض ويب لتكوين مجموعة البيانات. كما ترى مجموعة بيانات في طريقة عرض الشجرة. في علامة التبويب عام من إطار خصائص في الأسفل، أدخل SourceDatasetللاسم.
التبديل إلى علامة التبويب اتصال في إطار خصائص وحدد SqlServerLinkedServiceللخدمة المرتبطة. لا تحدد جدولاً هنا. يستخدم نشاط النسخ في خط الأنابيب استعلام SQL لتحميل البيانات بدلاً من تحميل الجدول بأكمله.
أنشئ مجموعة بيانات المورد
أنقر فوق "+ (plus)" في اللوحة اليسرى، ثم أنقر فوق "مجموعة البيانات".
في إطار مجموعة البيانات الجديدة، حدد قاعدة بيانات azure SQL، وانقر فوق متابعة.
تظهر علامة تبويب جديدة مفتوحة في مستعرض ويب لتكوين مجموعة البيانات. كما ترى مجموعة بيانات في طريقة عرض الشجرة. في علامة التبويب عام من إطار خصائص في الأسفل، أدخل SinkDatasetللاسم.
التبديل إلى علامة التبويب معلمات في نافذة "خصائص"، ثم قم بالخطوات التالية:
انقر فوق جديد في قسم إنشاء/تحديث المعلمات .
أدخل SinkTableNameللاسم، وسلسلةللنوع. تأخذ مجموعة البيانات هذه SinkTableName كمعلمة. يتم تعيين المعلمة SinkTableName بواسطة خط أنابيب بشكل حيوي في وقت التشغيل. النشاط ForEach في خط الأنابيب تكرار خلال قائمة أسماء الجداول ويقوم بتمرير اسم الجدول إلى مجموعة البيانات هذه في كل تكرار.
التبديل إلى علامة التبويب اتصال في نافذة "خصائص"، وحدد AzureSqlDatabaseLinkedService لـ الخدمة المرتبطة. بالنسبة إلى خاصية الجدول، انقر فوق إضافة محتوى ديناميكي.
في نافذة إضافة محتوى حيوي حدد SinkTableName في قسم معلمات.
بعد النقر فوق إنهاء، سترى "@dataset().SinkTableName" كاسم الجدول.
أنشئ مجموعة بيانات لهذه العلامة المائية
في هذه الخطوة، يمكنك إنشاء مجموعة بيانات لتخزين قيمة علامة مائية عالية.
أنقر فوق "+ (plus)" في اللوحة اليسرى، ثم أنقر فوق "مجموعة البيانات".
في إطار مجموعة البيانات الجديدة، حدد قاعدة بيانات azure SQL، وانقر فوق متابعة.
في علامة التبويب عام من نافذة "خصائص" في الأسفل، أدخل مجموعة بيانات مائيةللاسم.
انتقل إلى علامة التبويب Connection ثم قم بالخطوات التالية:
حدد AzureSqlDatabaseLinkedServiceللخدمة المرتبطة.
حدد [dbo].[watermarktable] لـ الجدول.
إنشاء البنية الأساسية لبرنامج ربط العمليات التجارية
يأخذ خط أنابيب قائمة أسماء الجداول كمعلمة. نشاط ForEach يكرر من خلال قائمة أسماء الجداول وتنفيذ العمليات التالية:
استخدم "نشاط البحث" لاسترداد قيمة العلامة المائية القديمة (القيمة الأولية أو التي تم استخدامها في التكرار الأخير).
استخدم "نشاط البحث" لاسترداد قيمة العلامة المائية الجديدة (القيمة القصوى لعمود العلامة المائية في الجدول المصدر).
استخدم "نشاط النسخ" لنسخ البيانات بين قيمتي العلامة المائية من قاعدة البيانات المصدر إلى قاعدة البيانات الوجهة.
استخدم "نشاط StoredProcedure" لتحديث قيمة العلامة المائية القديمة لاستخدامها في الخطوة الأولى من التكرار التالي.
إنشاء البنية الأساسية لبرنامج ربط العمليات التجارية
أنقر فوق "+ (plus)" في اللوحة اليسرى، ثم أنقر فوق "Pipeline".
في اللوحة العامة ضمن خصائص، حدد IncrementalCopyPipelineللاسم. ثم قم بطي اللوحة بالنقر فوق رمز الخصائص في الزاوية العلوية اليمنى.
في علامة التبويب معلمات، قم بالخطوات التالية:
- انقر على + New.
- أدخل "tableList" في مربع "name"المعلمة.
- حدد صفيف لنوع المعلمة.
في مربع أدوات "Activities"، قم بتوسيع "Iteration & Conditions"، ثم أسحب وأفلت نشاط ForEach إلى سطح مصمم البنية الأساسية. في علامة التبويب عام من نافذة خصائص أدخل IterateSQLTables.
قم بالتبديل إلى علامة التبويب الإعدادات، وأدخل
@pipeline().parameters.tableListلـ العناصر. النشاط ForEach يكرر من خلال قائمة من الجداول وتنفيذ عملية النسخ التزايدي.
حدد نشاط ForEach قيد الإعداد إذا لم يكن محدداً مسبقاً. انقر فوق زر تحرير (رمز قلم رصاص) .
في مربع أدوات الأنشطة، قم بتوسيع عام، وسحب-إفلات نشاط البحث إلى سطح مصمم خط الأنابيب، وأدخل LookupOldWaterMarkActivityللاسم.
التبديل إلى علامة التبويب الإعدادات من إطار خصائص ثم قم بالخطوات التالية:
حدد مجموعة بيانات العلامة المائية لـ مجموعة بيانات المصدر.
حدد "Query" تحت "Use query".
أدخل استعلام SQL التالي في Query.
select * from watermarktable where TableName = '@{item().TABLE_NAME}'
سحب-إفلات نشاط البحث من مربع أدوات الأنشطة، وأدخل بحثNewWaterMarkActivityللاسم.
الانتقال إلى علامة تبويب الإعدادات.
حدد مجموعة بيانات المصدر لـ مجموعة البيانات المصدر.
حدد "Query" تحت "Use query".
أدخل استعلام SQL التالي في Query.
select MAX(@{item().WaterMark_Column}) as NewWatermarkvalue from @{item().TABLE_NAME}
سحب-إفلات نشاط النسخ من مربع أدوات الأنشطة، وأدخل IncrementalCopyActivityللاسم.
الاتصال أنشطة البحث إلى نشاط النسخ واحدا تلو الآخر. للاتصال، ابدأ بالسحب في المربع الأخضر المرفق بنشاط البحث وأسقطه على نشاط النسخ. حرر زر الماوس عند تغيير لون حد نشاط النسخ إلى اللون الأزرق.
حدد نشاط النسخ في "pipeline". التبديل إلى علامة التبويب المصدر في نافذة خصائص.
حدد مجموعة بيانات المصدر لـ مجموعة البيانات المصدر.
حدد "Query" تحت "Use query".
أدخل استعلام SQL التالي في Query.
select * from @{item().TABLE_NAME} where @{item().WaterMark_Column} > '@{activity('LookupOldWaterMarkActivity').output.firstRow.WatermarkValue}' and @{item().WaterMark_Column} <= '@{activity('LookupNewWaterMarkActivity').output.firstRow.NewWatermarkvalue}'
التبديل إلى علامة التبويب "بالوعة" ثم حدد SinkDataset لمجموعة بيانات مصدر.
قم بالخطوات التالية:
في خصائص مجموعة البيانات، للمعلمة SinkTableName، وأدخل
@{item().TABLE_NAME}.بالنسبة إلى خاصية اسم الإجراء المخزن، أدخل
@{item().StoredProcedureNameForMergeOperation}.بالنسبة إلى خاصية نوع الجدول، أدخل
@{item().TableType}.بالنسبة إلى اسم معلمة نوع الجدول، أدخل
@{item().TABLE_NAME}.
سحب وإفلات نشاط الإجراء المخزن من مربع أدوات الأنشطة إلى سطح مصمم خط أنابيب. الاتصال نشاط النسخ إلى نشاط الإجراء المخزن .
حدد نشاط الإجراء المخزن في خط الأنابيب، ثم أدخل StoredProceduretoWriteWatermarkActivityللاسم في علامة التبويب عام من نافذة خصائص.
التبديل إلى علامة التبويب حساب SQL، ثم حدد AzureSqlDatabaseLinkedServiceللخدمة المرتبطة.
التبديل إلى علامة التبويب إجراء مخزن ثم قم بالخطوات التالية:
بالنسبة إلى اسم الإجراء المخزن، حدد
[dbo].[usp_write_watermark].حدد استيراد المعلمة.
حدد القيم التالية المعلمات:
الاسم نوع القيمة LastModifiedtime التاريخ والوقت @{activity('LookupNewWaterMarkActivity').output.firstRow.NewWatermarkvalue}اسم الجدول السلسلة @{activity('LookupOldWaterMarkActivity').output.firstRow.TableName}
حدد نشر الكل لنشر الكيانات التي أنشأتها لخدمة مصنع البيانات.
انتظر حتى ترى رسالة تم النشر بنجاح. للاطلاع على الإشعارات، انقر على ارتباط إظهار الإشعارات. أغلق نافذة الإعلامات بالنقر فوق X.
قم بتشغيل البنية الأساسية
على شريط الأدوات لخط الأنابيب، انقر فوق إضافة تشغيل، وانقر فوق المشغل الآن.
في نافذة "تشغيل Pipeline"، أدخل القيمة التالية للمعلمة tableList، وانقر فوق إنهاء.
[ { "TABLE_NAME": "customer_table", "WaterMark_Column": "LastModifytime", "TableType": "DataTypeforCustomerTable", "StoredProcedureNameForMergeOperation": "usp_upsert_customer_table" }, { "TABLE_NAME": "project_table", "WaterMark_Column": "Creationtime", "TableType": "DataTypeforProjectTable", "StoredProcedureNameForMergeOperation": "usp_upsert_project_table" } ]
مراقبة المسار
يمكنك التبديل إلى علامة التبويب "Monitor" في الجهة اليسرى. ترى تشغيل "Pipeline" تم تشغيله بواسطة التشغيل اليدوي. يمكنك استخدام الارتباطات ضمن العمود PIPELINE NAME لعرض تفاصيل النشاط وإعادة تشغيل "تدفقات".
لمشاهدة تشغيل النشاط المقترنة بتشغيل خط أنابيب حدد الارتباط ضمن عمود NAME PIPELINE. للحصول على تفاصيل حول تشغيل النشاط، حدد الارتباط تفاصيل (رمز النظارات) ضمن العمود اسم النشاط.
حدد جميع "تدفقات" قيد التشغيل في الأعلى للعودة إلى طريقة عرض "تشغيل خطوط الأنابيب". لإعادة تنشيط طريقة العرض، حدد Refresh.
مراجعة النتائج
في SQL Server Management Studio تشغيل الاستعلامات التالية مقابل قاعدة بيانات SQL الهدف للتحقق من أن تم نسخ البيانات من جداول المصدر إلى جداول الوجهة:
استفسار
select * from customer_table
الناتج
===========================================
PersonID Name LastModifytime
===========================================
1 John 2017-09-01 00:56:00.000
2 Mike 2017-09-02 05:23:00.000
3 Alice 2017-09-03 02:36:00.000
4 Andy 2017-09-04 03:21:00.000
5 Anny 2017-09-05 08:06:00.000
استفسار
select * from project_table
الناتج
===================================
Project Creationtime
===================================
project1 2015-01-01 00:00:00.000
project2 2016-02-02 01:23:00.000
project3 2017-03-04 05:16:00.000
استفسار
select * from watermarktable
الناتج
======================================
TableName WatermarkValue
======================================
customer_table 2017-09-05 08:06:00.000
project_table 2017-03-04 05:16:00.000
لاحظ أنه تم تحديث قيم العلامة المائية لكلا الجدولين.
إضافة المزيد من البيانات إلى الجداول المصدر
تشغيل الاستعلام التالي مقابل قاعدة بيانات المصدر SQL Server لتحديث صف موجود في customer_table. إدراج صف جديد في project_table.
UPDATE customer_table
SET [LastModifytime] = '2017-09-08T00:00:00Z', [name]='NewName' where [PersonID] = 3
INSERT INTO project_table
(Project, Creationtime)
VALUES
('NewProject','10/1/2017 0:00:00 AM');
أعد تشغيل التدفق
في نافذة مستعرض ويب، انتقل إلى علامة التبويب تحرير على اليسار.
على شريط الأدوات لخط الأنابيب، انقر فوق إضافة تشغيل، وانقر فوق المشغل الآن.
في نافذة "تشغيل Pipeline"، أدخل القيمة التالية للمعلمة tableList، وانقر فوق إنهاء.
[ { "TABLE_NAME": "customer_table", "WaterMark_Column": "LastModifytime", "TableType": "DataTypeforCustomerTable", "StoredProcedureNameForMergeOperation": "usp_upsert_customer_table" }, { "TABLE_NAME": "project_table", "WaterMark_Column": "Creationtime", "TableType": "DataTypeforProjectTable", "StoredProcedureNameForMergeOperation": "usp_upsert_project_table" } ]
مراقبة تشغيل "pipeline"
يمكنك التبديل إلى علامة التبويب "Monitor" في الجهة اليسرى. ترى تشغيل "Pipeline" تم تشغيله بواسطة التشغيل اليدوي. يمكنك استخدام الارتباطات ضمن العمود PIPELINE NAME لعرض تفاصيل النشاط وإعادة تشغيل "تدفقات".
لمشاهدة تشغيل النشاط المقترنة بتشغيل خط أنابيب حدد الارتباط ضمن عمود NAME PIPELINE. للحصول على تفاصيل حول تشغيل النشاط، حدد الارتباط تفاصيل (رمز النظارات) ضمن العمود اسم النشاط.
حدد جميع "تدفقات" قيد التشغيل في الأعلى للعودة إلى طريقة عرض "تشغيل خطوط الأنابيب". لإعادة تنشيط طريقة العرض، حدد Refresh.
راجع النتائج التالية
في SQL Server Management Studio تشغيل الاستعلامات التالية مقابل قاعدة بيانات SQL الهدف للتحقق من أن تم نسخ البيانات المحدثة/الجديدة من جداول المصدر إلى جداول الوجهة.
استفسار
select * from customer_table
الناتج
===========================================
PersonID Name LastModifytime
===========================================
1 John 2017-09-01 00:56:00.000
2 Mike 2017-09-02 05:23:00.000
3 NewName 2017-09-08 00:00:00.000
4 Andy 2017-09-04 03:21:00.000
5 Anny 2017-09-05 08:06:00.000
لاحظ القيم الجديدة من الاسم وLastModifytime لـPersonID رقم 3.
استفسار
select * from project_table
الناتج
===================================
Project Creationtime
===================================
project1 2015-01-01 00:00:00.000
project2 2016-02-02 01:23:00.000
project3 2017-03-04 05:16:00.000
NewProject 2017-10-01 00:00:00.000
لاحظ أنه تمت إضافة إدخال مشروع جديد إلى project_table.
استفسار
select * from watermarktable
الناتج
======================================
TableName WatermarkValue
======================================
customer_table 2017-09-08 00:00:00.000
project_table 2017-10-01 00:00:00.000
لاحظ أنه تم تحديث قيم العلامة المائية لكلا الجدولين.
المحتوى ذو الصلة
نفّذت الخطوات التالية في هذا البرنامج التعليمي:
- إعداد مخازن بيانات المصدر والوجهة.
- إنشاء data factory.
- إنشاء وقت تشغيل تكامل مستضاف ذاتياً (IR).
- ثبت أداة وقت تشغيل التكامل.
- أنشئ الخدمة ذات الصلة.
- أنشئ مجموعات بيانات المورد والمصدر والعلامة المائية.
- إنشاء خط أنابيب وتشغيله ومراقبة.
- راجع النتائج.
- إضافة بيانات أو تحديثها في جداول المصدر.
- مراقبة تشغيل المسار.
- راجع النتائج التالية.
انتقل إلى البرنامج التعليمي التالي لمعرفة المزيد حول تحويل البيانات باستخدام مجموعة Spark على Azure: