برنامج تعليمي لـ AWS Glue للمبتدئين: تحويل البيانات بكل سهولة

تحويل البيانات الخام الخاصة بك إلى معلومات منظمة وقابلة للتنفيذ قد يبدو معقدًا. حسنًا، ليس عندما تكون لديك حلاً سريعًا وفعّالًا. لا تقلق! هذا الدليل التعليمي الودي للمبتدئين عن AWS Glue سيوفر لك الدعم.

في هذا البرنامج التعليمي، ستتعلم الخطوات الحاسمة لتكوين وتنفيذ تحويلات البيانات باستخدام AWS Glue.

استكشف وقم بتبسيط تحضير البيانات لتحليلات مستندة على السحابة!

المتطلبات المسبقة

قبل العمل مع AWS Glue، تأكد من أن لديك حساب نشط على خدمات الويب الأمازون (AWS) مع تمكين الفوترة. سيكون لديك حساب مجاني كافٍ لهذا البرنامج التعليمي.

إنشاء دور IAM لـ AWS Glue

قبل تنفيذ وظيفة التحويل، يجب عليك إنشاء دور لإدارة الهوية والوصول (IAM) الذي يمنح إذنًا لخدمة AWS Glue. يحدد هذا الدور نوع الموارد التي يُسمح لخدمة AWS Glue الوصول إليها في حسابك على خدمات الويب الأمازون.

لإنشاء دور IAM، اتبع الخطوات التالية:

1. افتح متصفح الويب المفضل لديك، وقم بتسجيل الدخول إلى لوحة التحكم لخدمات الويب الأمازون (AWS Management Console).

2. البحث عن وتحديد IAM في قائمة النتائج للوصول إلى واجهة تحكم IAM.

Accessing the IAM console

3. في واجهة تحكم IAM، انتقل إلى الأدوار (الجزء الأيسر) وانقر على إنشاء دور (أعلى اليمين)، مما يعيد توجيه متصفحك إلى صفحة جديدة مخصصة لتكوين الدور.

Initiating creating a new role

4. الآن، قم بتكوين الإعدادات التالية للدور:

  • نوع الكيان الموثوق به – حدد خدمة AWS بحيث تثق خدمة AWS بالدور. بذلك يسمح ذلك لتلك الخدمة بتولي الدور والتصرف نيابة عنك.
  • حالة الاستخدام – اختر Glue ضمن حالات الاستخدام لخدمات AWS الأخرى حيث ستقوم بإنشاء دور IAM خصيصًا لـ AWS Glue، وانقر على التالي.
Selecting the trust entity type and use case

5. البحث عن وتحديد السياسات التالية، وانقر على التالي.

  • AWSGlueServiceRole – تمنح خدمة AWS Glue الأذونات اللازمة لأداء عملياتها.
  • S3FullAccess – تمنح الوصول الكامل إلى موارد S3، مما يسمح لـ AWS Glue بالقراءة من والكتابة إلى دلاء S3.
    تحتاج AWS Glue إلى أذونات موسعة لقراءة من وكتابة إلى دلاء S3 لأداء مهام استخراج وتحويل وتحميل البيانات (ETL) بفعالية.

? تجنب منح الأذونات الزائدة غير الضرورية، حيث يمكن أن تشكل مخاطر أمنية.

Adding permissions for AWS Glue

6. قدم اسمًا وصفيًا للدور (على سبيل المثال، glue_role) ووصفًا.

Providing a descriptive name and description for the role

7. أخيرًا، انتقل إلى الأسفل، قم بمراجعة إعداداتك، وانقر على إنشاء دور (أسفل اليمين) لإنهاء إنشاء الدور.

Reviewing the role settings and creating the role

إنشاء دلو S3 وتحميل ملف عينة

الآن بما أن لديك دور IAM لـ AWS Glue، تحتاج إلى مكان لتخزين بياناتك، على وجه التحديد، دلو S3. يوفر دلو S3 موقعًا مركزيًا لتخزين البيانات التي سيعالجها AWS Glue.

في هذا المثال، سيستخدم AWS Glue دلو S3 كمتجر بيانات لعمليات متنوعة، مثل عمليات استخراج البيانات وتحويلها وتحميلها (ETL).

لإنشاء دلو S3 وتحميل ملف عينة، اتبع هذه الخطوات:

1. قم بتنزيل ملف بيانات عينة (مثال مجموعة بيانات كل سياسي) إلى جهازك المحلي. يحتوي هذا الملف على مجموعة غير منظمة من السجلات لتكون كمدخل لوظيفة تحويل AWS Glue.

2. ابحث عن وحدة S3 للوصول إلى وحدة التحكم S3.

Accessing the S3 console

3. انقر على إنشاء دلو لبدء إنشاء دلو S3 جديد.

Initiating creating a new S3 bucket

4. الآن، قم بتقديم اسم فريد لدلوك (على سبيل المثال، sampledata54675) وحدد المنطقة التي يجب أن يكون فيها الدلو.

A unique name lets you avoid conflicts with existing bucket names is crucial, while the region selection determines the physical location of your bucket’s data.

Providing a name and region for the bucket

5. انتقل إلى الأسفل، احتفظ بالخيارات الأخرى كما هي، وانقر على إنشاء الدلو لإنشاء الدلو.

Creating the newly-configured S3 bucket

6. بمجرد إنشائه، انقر على الارتباط لدلو S3 الذي تم إنشاؤه حديثًا للانتقال إلى الدلو.

Accessing the newly-created bucket

7. انقر على تحميل وابحث عن الملف العيني الذي ترغب في تحميله.

Initiating uploading a file

8. وأخيرًا ، احتفظ بالإعدادات الأخرى كما هي ، وانقر على التحميل لتحميل ملف العينة إلى الحاوية الجديدة التي تم إنشاؤها.

Uploading a sample file to an S3 bucket

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

Verifying the newly-uploaded file exists in the bucket

إنشاء Crawler Glue لفحص وفهرسة البيانات

لقد قمت للتو بتحميل بيانات العينة إلى حاوية S3 الخاصة بك ، ولكن نظرًا لأنها غير منظمة حاليًا ، تحتاج إلى وسيلة لقراءة البيانات وإنشاء فهرس البيانات الوصفية. كيف؟ عن طريق إنشاء Crawler Glue الذي يقوم تلقائيًا بفحص وفهرسة البيانات.

لإنشاء Crawler Glue ، اتبع الخطوات التالية:

1. انتقل إلى وحدة تحكم AWS Glue عبر وحدة التحكم الرئيسية لـ AWS ، كما هو موضح أدناه.

Accessing the AWS Glue console

2. بعد ذلك ، انتقل إلى Crawler (لوحة اليسار) وانقر فوق إضافة Crawler (أعلى اليمين) لبدء إنشاء Crawler Glue جديد.

Initiating creating a new crawler

3. قدم اسمًا وصفيًا (على سبيل المثال ، glue_crawler) ووصفًا لل Crawler ، احتفظ بالإعدادات الأخرى كما هي ، وانقر على التالي.

Setting the crawler name and description

4. الآن ، انقر على إضافة مصدر بيانات تحت مصادر البيانات لبدء إضافة مصدر بيانات جديد إلى Crawler.

Initiating adding a data source

5. في نافذة البوب ​​آب ، قم بتكوين مصدر البيانات على النحو التالي:

  • مصدر البيانات – حدد S3 نظرًا لأن بياناتك في حاويتك S3.
  • مسار S3 – انقر على تصفح S3، واختر الدلو الذي يحتوي على بيانات العينة المرفوعة الخاصة بك (sampledata54675).
  • احتفظ بالإعدادات الأخرى كما هي، وانقر على إضافة مصدر بيانات S3 لإضافة البيانات المرجعية إلى الزاحف.
Adding an S3 data source

6. بمجرد التكوين، قم بالتحقق من مصدر البيانات، كما هو موضح أدناه، وانقر على التالي للمتابعة.

Verifying the configured data source

7. في الشاشة التالية، حدد الدور IAM الذي قمت بإنشائه مسبقًا (glue_role), احتفظ بالإعدادات الأخرى كما هي، وانقر على التالي.

Configuring the security settings

8. تحت الإخراج والجدولة، انقر على إضافة قاعدة بيانات لبدء إضافة قاعدة بيانات جديدة لتخزين البيانات المعالجة والبيانات الوصفية التي تم إنشاؤها بواسطة الزاحف الخاص بك. يفتح هذا الإجراء علامة تبويب متصفح جديدة، حيث ستقوم بتكوين تفاصيل قاعدة البيانات الخاصة بك (الخطوة الثامنة).

توفر هذه القاعدة بيانات تمثيلًا منظمًا للبيانات للاستعلام والتحليل.

Initiating adding a new target database

9. في علامة تبويب المتصفح الجديدة، قدم اسم قاعدة بيانات وصفيًا (على سبيل المثال، glue_database), وانقر على إنشاء قاعدة بيانات لإنشاء القاعدة بيانات.

Naming and creating the new database

10. انتقل إلى علامة تبويب المتصفح السابق، حدد القاعدة الجديدة التي تم إنشاؤها (glue_database) من القائمة المنسدلة، احتفظ بالإعدادات الأخرى كما هي، وانقر على التالي.

Setting a target database (glue_database)

11. في النهاية، قم بمراجعة إعداداتك على الشاشة النهائية للتأكد من دقتها، وانقر على إنشاء الزاحف (أسفل اليمين) لإنشاء الزاحف الجديد.

Creating the new crawler

إذا كان كل شيء على ما يرام، سترى شاشة تؤكد إنشاء الزاحف بنجاح. لا تقم بإغلاق هذه الشاشة بعد الآن؛ ستقوم بتشغيل هذا الزاحف في القسم التالي.

Overviewing the crawler properties

تشغيل متسلل Glue لبناء فهرس البيانات

مع وجود متسلل جديد في تصرفك، تشغيل المتسلل أمر أساسي لبدء عملية المسح وتصنيف البيانات. سيقوم متسلل Glue ببناء فهرس للبيانات يوفر تمثيلًا منظمًا للبيانات الخاصة بك لأغراض الاستعلام والتحليل.

لتشغيل متسلل Glue الذي تم إنشاؤه حديثًا:

1. على صفحة تفاصيل المتسلل، انقر فوق تشغيل المتسلل تحت علامة تشغيلات المتسلل لبدء تنفيذ المتسلل.

Initiating the execution of the crawler

بمجرد بدء تشغيل المتسلل، سترى حالته وتقدمه على صفحة تفاصيل المتسلل.

اعتمادًا على حجم وتعقيد البيانات الخاصة بك، قد يستغرق المتسلل بعض الوقت لاستكمال تنفيذه. يمكنك تحديث الصفحة بانتظام لرؤية حالة المتسلل المحدثة.

Overviewing the crawler’s execution

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

Verifying the crawler status

2. بعد ذلك، انتقل إلى قاعدة البيانات (لوحة اليسار)، وانقر فوق قاعدة البيانات الخاصة بك للوصول إلى خصائصها والجداول الخاصة بها.

Accessing the database

3. أخيرًا، انقر فوق اسم الدلو الخاص بك (sampledata54675), الآن جدولًا، لعرض البيانات المخزنة فيه.

Accessing the bucket that has transformed into a table

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

Viewing transformed data from the bucket to a table

استعلام البيانات المصنفة عبر AWS Athena

الآن أن البيانات الخاصة بك متاحة في AWS Glue Data Catalog، يمكنك استخدام مجموعة متنوعة من الأدوات للاستعلام وتحليل البيانات الخاصة بك. إحدى هذه الأدوات هي AWS Athena، وهي خدمة استعلام تفاعلية تتيح لك تحليل البيانات في السحابة باستخدام SQL القياسي.

للاستعلام عن البيانات باستخدام AWS Athena، اتبع الخطوات التالية:

1. ابحث عن وصول إلى وحدة التحكم Athena.

Accessing the Athena console

2. حدد قاعدة البيانات حيث تم فهرسة بياناتك تحت القسم Data على النحو التالي:

  • مصدر البيانات – حدد AwsDataCatalog للإشارة إلى رغبتك في استعلام البيانات المفهرسة في AWS Glue.
  • قاعدة البيانات – حدد قاعدة البيانات المناسبة من القائمة المنسدلة (أي glue_database).

? إذا لم تر القاعدة البيانات المطلوبة في القائمة المنسدلة، تأكد من أن جهاز الزحف قد أكمل تنفيذه وقد قدم البيانات.

Selecting the appropriate database for querying data

3. في النهاية، قم بملء وتشغيل الاستعلام التالي في محرر الاستعلام على اليمين.

يعيد هذا الاستعلام أول 10 صفوف من الجدول sampledata54675 في قاعدة البيانات glue_database. لا تتردد في تعديل الاستعلام لتناسب متطلباتك الخاصة.

SELECT *
FROM "glue_database"."sampledata54675"
LIMIT 10;
Querying data from a database

إذا نجح الاستعلام، سترى النتائج في اللوحة Result، كما هو مبين أدناه. تحتوي النتائج على معلومات حول السجلات المخزنة في الجدول استنادًا إلى استعلام SQL الخاص بك.

تأكد من أسماء الأعمدة وأنواع البيانات والقيم المُرجعة في مجموعة النتائج. تساعدك هذه المعلومات على فهم هيكل ومحتوى البيانات المُستعلَم عنها.

Viewing the query results

الاستنتاج

في هذا البرنامج التعليمي، لقد تعلمت أساسيات استخدام AWS Glue لإنشاء Crawler لـ Glue، وفهرسة بياناتك، واستعلام البيانات باستخدام AWS Athena. إعداد البيانات والتحليل أمران أساسيان لأي تطبيق قائم على البيانات. والأدوات مثل AWS Glue توفر وسيلة سريعة لاستخراج البيانات وتحويلها وتحميلها (ETL) من مصادر مختلفة إلى جدول قاعدة بيانات.

مع AWS Glue، يمكنك الآن إدارة وتنظيم البيانات بسرعة، مما يتيح لك التركيز أكثر على تحليل البيانات واستخلاص البيانات. ولكن ما رأيته ليس سوى قمة الجبل الجليدي. استكشف مجموعة القدرات والوظائف الواسعة التي يمكن أن يوفرها AWS Glue!

لماذا لا تستفيد من اتصالات AWS Glue للتكامل بسلاسة مع خدمات AWS الأخرى، مثل Amazon RDS أو Amazon Redshift? يمكنك من خلال هذا التكامل بناء أنابيب ETL معقدة وتحقيق قدرات تحليل البيانات أكبر حتى.

Source:
https://adamtheautomator.com/aws-glue-tutorial/