إعداد البيانات باستخدام موظّفي الذكاء الاصطناعي في ورشة عمل BigQuery للترميز
لمحة عن هذا الدرس التطبيقي حول الترميز
1. مقدمة
تخيل أنّه بإمكانك تجهيز بياناتك للتحليل بشكل أسرع وأكثر كفاءة بدون الحاجة إلى أن تكون خبيرًا في الترميز. باستخدام BigQuery Data Preparation، يمكنك تحقيق ذلك. تعمل هذه الميزة القوية على تبسيط نقل البيانات وتحويلها وتنظيفها، ما يضع عملية إعداد البيانات في أيدي جميع خبراء البيانات في مؤسستك.
هل أنت مستعد للاستفادة من الأسرار الخفية في بيانات منتجاتك؟
المتطلبات الأساسية
- فهم أساسي لـ Google Cloud Console
- فهم أساسي للغة الاستعلامات البنيوية (SQL)
ما ستتعرّف عليه
- كيفية تنظيف البيانات الأولية وتحويلها إلى ذكاء تجاري قابل للتنفيذ باستخدام أداة إعداد البيانات في BigQuery، وذلك باستخدام مثال واقعي من مجال الأزياء والتجميل
- كيفية تنفيذ عملية إعداد البيانات وتحديد موعد لها للبيانات التي تمّ تنظيفها
المتطلبات
- حساب Google Cloud ومشروع Google Cloud
- متصفح ويب، مثل Chrome
2. الإعداد الأساسي والمتطلبات
إعداد البيئة حسب السرعة التي تناسبك
- سجِّل الدخول إلى Google Cloud Console وأنشئ مشروعًا جديدًا أو أعِد استخدام مشروع حالي. إذا لم يكن لديك حساب على Gmail أو Google Workspace، عليك إنشاء حساب.
- اسم المشروع هو الاسم المعروض للمشاركين في هذا المشروع. وهي سلسلة أحرف لا تستخدمها واجهات برمجة تطبيقات Google. ويمكنك تعديلها في أي وقت.
- يكون معرّف المشروع فريدًا في جميع مشاريع Google Cloud وغير قابل للتغيير (لا يمكن تغييره بعد ضبطه). تنشئ وحدة تحكّم Cloud Console سلسلة فريدة تلقائيًا، ولا يهمّك عادةً معرفة محتواها. في معظم مختبرات رموز البرامج، عليك الإشارة إلى معرّف المشروع (يُعرَف عادةً باسم
PROJECT_ID
). إذا لم يعجبك المعرّف الذي تم إنشاؤه، يمكنك إنشاء معرّف آخر عشوائي. يمكنك بدلاً من ذلك تجربة عنوانك الخاص لمعرفة ما إذا كان متاحًا. ولا يمكن تغييره بعد هذه الخطوة ويبقى ساريًا طوال مدة المشروع. - يُرجى العِلم أنّ هناك قيمة ثالثة، وهي رقم المشروع، تستخدمها بعض واجهات برمجة التطبيقات. يمكنك الاطّلاع على مزيد من المعلومات عن كلّ من هذه القيم الثلاث في المستندات.
- بعد ذلك، عليك تفعيل الفوترة في Cloud Console لاستخدام موارد/واجهات برمجة تطبيقات Cloud. لن تُكلّفك المشاركة في هذا الدليل التعليمي للترميز الكثير، إن لم يكن أيّ تكلفة على الإطلاق. لإيقاف الموارد لتجنُّب تحصيل رسوم بعد انتهاء هذا الدليل التعليمي، يمكنك حذف الموارد التي أنشأتها أو حذف المشروع. يكون مستخدمو Google Cloud الجدد مؤهّلين للاستفادة من برنامج الفترة التجريبية المجانية التي تبلغ قيمتها 300 دولار أمريكي.
3. قبل البدء
تفعيل واجهة برمجة التطبيقات
لاستخدام Gemini في BigQuery، عليك تفعيل Gemini for Google Cloud API. عادةً ما ينفّذ مشرف الخدمة أو مالك المشروع الذي لديه serviceusage.services.enable
إذن إدارة الهوية وإمكانية الوصول هذه الخطوة.
- لتفعيل واجهة برمجة التطبيقات Gemini لخدمة Google Cloud، انتقِل إلى صفحة Gemini لخدمة Google Cloud في Google Cloud Marketplace. الانتقال إلى Gemini لخدمة Google Cloud
- في أداة اختيار المشاريع، اختَر مشروعًا.
- انقر على تفعيل. يتم تعديل الصفحة وتعرض الحالة مفعَّل. أصبح تطبيق Gemini في BigQuery متاحًا الآن في مشروع Google Cloud المحدّد لجميع المستخدمين الذين لديهم أذونات إدارة الهوية وإمكانية الوصول المطلوبة.
إعداد الأدوار والأذونات لتطوير عمليات إعداد البيانات
- في "إدارة الهوية وإمكانية الوصول والمشرف"، اختَر "إدارة الهوية وإمكانية الوصول".
- اختَر المستخدم وانقر على رمز القلم الرصاص "لتعديل المستخدم الرئيسي".
لاستخدام ميزة "إعداد البيانات" في BigQuery، ستحتاج إلى الأدوار والأذونات التالية:
- محرِّر بيانات في BigQuery (roles/bigquery.dataEditor)
- مستخدِم "استخدام الخدمة" (roles/serviceusage.serviceUsageConsumer)
4. العثور على بطاقة بيانات "العرض التجريبي لإعداد البيانات في bq" والاشتراك فيها في "مركز تحليلات BigQuery"
سنستخدم مجموعة بيانات bq data preparation demo
في هذا الدليل التعليمي. وهي مجموعة بيانات مرتبطة في مركز تحليلات BigQuery سنقرأ منها.
لا تُعاد كتابة البيانات مطلقًا إلى المصدر، وسنطلب منك تحديد جدول وجهة للكتابة فيه. يحتوي الجدول الذي سنستخدمه في هذا التمرين على 1,000 صف فقط للحفاظ على التكاليف إلى الحد الأدنى، ولكن يتم تنفيذ عملية إعداد البيانات على BigQuery وسيتم توسيع نطاقها.
اتّبِع الخطوات التالية للعثور على مجموعة البيانات المرتبطة والاشتراك فيها:
- الوصول إلى Analytics Hub: في Google Cloud Console، انتقِل إلى BigQuery.
- في قائمة التنقّل في BigQuery، اختَر "Analytics Hub" ضمن "إدارة".
- البحث عن البيانات: في واجهة مستخدم Analytics Hub، انقر على البحث عن البيانات.
- اكتب
bq data preparation demo
في شريط البحث واضغط على مفتاح Enter.
- الاشتراك في البيانات: اختَر بطاقة بيانات
bq data preparation demo
من نتائج البحث. - في صفحة تفاصيل البيانات، انقر على الزر اشتراك.
- راجِع أي مربّعات حوار تأكيد وعدِّل المشروع أو مجموعة البيانات إذا لزم الأمر. من المفترض أن تكون الإعدادات التلقائية صحيحة.
- الوصول إلى مجموعة البيانات في BigQuery: بعد الاشتراك بنجاح، سيتم ربط مجموعات البيانات ضمن القائمة بمشروعك على BigQuery.
ارجع إلى BigQuery Studio.
5. استكشاف البيانات وبدء عملية إعداد البيانات
- تحديد موقع مجموعة البيانات والجدول: في لوحة "المستكشف"، اختَر مشروعك ثم ابحث عن مجموعة البيانات التي تم تضمينها في بطاقة بيانات
bq data preparation demo
. اختَر جدولstg_product
. - الفتح في "إعداد البيانات": انقر على النقاط الثلاث العمودية بجانب اسم الجدول واختَر
Open in Data Preparation
.
سيؤدي ذلك إلى فتح الجدول في واجهة "إعداد البيانات"، ويمكنك بعد ذلك البدء في تحويل بياناتك.
كما هو موضّح في معاينة البيانات أدناه، لدينا بعض تحديات البيانات التي سنعالجها، وتشمل هذه التحديات ما يلي:
- يحتوي عمود السعر على كل من المبلغ والعملة، ما يجعل التحليل صعبًا.
- يجمع عمود المنتج بين اسم المنتج وفئة المنتج (مفصّلين برمز فاصل |).
ويعمل Gemini على الفور على تحليل بياناتك واقتراح العديد من عمليات التحويل. في هذا المثال، نرى عددًا من الاقتراحات. في الخطوات التالية، سنطبّق الحلول التي نحتاج إليها.
6. التعامل مع عمود "السعر"
لنطّلِع على عمود السعر. كما رأينا، يحتوي على كلّ من العملة والمبلغ. هدفنا هو فصل هذه القيم إلى عمودَين مختلفَين: "العملة" و"المبلغ".
حدّدت Gemini عدة اقتراحات لعمود "السعر".
- ابحث عن اقتراح يتضمن عبارة مشابهة لما يلي:
الوصف: "يزيل هذا التعبير البادئة "USD" من الحقل المحدّد"
REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
- اختَر "معاينة".
- انقر على "تطبيق".
بعد ذلك، في عمود السعر، لنفترض أنّنا نريد تحويل نوع البيانات من STRING إلى NUMERIC.
- ابحث عن اقتراح يتضمن عبارة مشابهة لما يلي:
الوصف: "يحوّل عمود السعر من النوع سلسلة إلى float64"
SAFE_CAST(Price AS float64)
- انقر على "تطبيق".
من المفترض أن تظهر لك الآن ثلاث خطوات تم تطبيقها في قائمة الخطوات.
7. التعامل مع عمود "المنتجات"
يحتوي عمود المنتج على اسم المنتج وفئة المنتج، مع الفصل بينهما بشريط عمودي (|).
على الرغم من أنّه يمكننا استخدام اللغة الطبيعية مرة أخرى، لنستكشف ميزة أخرى فعّالة في Gemini.
حذف المحتوى غير المرغوب فيه من اسم المنتج
- اختَر جزء الفئة من إدخال المنتج بما في ذلك الحرف
|
واحذِفه.
سيتعرّف Gemini على هذا النمط بذكاء ويقترح إجراء تحويل لتطبيقه على العمود بأكمله.
- انقر على "تعديل".
إنّ اقتراح Gemini دقيق: يزيل كل شيء بعد الحرف "|"، ما يؤدي إلى عزل اسم المنتج بفعالية.
ولكن هذه المرة لا نريد استبدال بياناتنا الأصلية.
- في القائمة المنسدلة للعمود المستهدَف، اختَر "إنشاء عمود جديد".
- اضبط الاسم على ProductName.
- يمكنك معاينة التغييرات للتأكّد من أنّ كل شيء يبدو على ما يرام.
- طبِّق التحويل.
استخراج فئة المنتج
باستخدام اللغة الطبيعية، سنطلب من Gemini استخراج الكلمة التي تأتي بعد علامة الشرطة المائلة (|) في عمود "المنتج". سيتم استبدال هذه القيمة المستخرَجة في العمود الحالي الذي يُسمى "المنتج".
- انقر على
Add Step
لإضافة خطوة تحويل جديدة.
- اختَر
Transformation
من القائمة المنسدلة. - في حقل طلب اللغة الطبيعية، أدخِل "استخراج الكلمة بعد علامة الشرطة المائلة (|) في عمود المنتج" ثم اضغط على مفتاح Return لإنشاء طلب البحث بتنسيق SQL.
- اترك عمود "الاستهداف" على "المنتج".
- انقر على تطبيق.
من المفترض أن يمنحك التحويل النتائج التالية.
8. الدمج لإثراء البيانات
غالبًا ما تحتاج إلى تحسين بياناتك من خلال إضافة معلومات من مصادر أخرى. في مثالنا، سندمج بيانات المنتجات مع سمات المنتجات الموسّعة، stg_extended_product
، من جدول تابع لجهة خارجية. يتضمّن هذا الجدول تفاصيل مثل العلامة التجارية وتاريخ الإطلاق.
- انقر على
Add Step
. - اختيار
Join
- انتقِل إلى جدول
stg_extended_product
.
اختارت Gemini في BigQuery تلقائيًا مفتاح الربط productid نيابةً عنا وصنّفت الجانبَين الأيمن والأيسر لأنّ اسم المفتاح متطابق.
ملاحظة: تأكّد من أنّ حقل الوصف يعرض "الربط حسب productid". إذا كان يتضمّن مفاتيح دمج إضافية، استبدِل حقل الوصف بـ "دمج حسب productid" وانقر على زر الإنشاء في حقل الوصف لإعادة إنشاء تعبير الدمج باستخدام الشرط التالي L.
productid
= R.
productid
.
- يمكنك اختياريًا النقر على "معاينة" لمعاينة النتائج.
- انقر على
Apply
.
تنظيف السمات الموسَّعة
على الرغم من أنّ عملية الدمج قد تمت بنجاح، إلا أنّ بيانات السمات الموسّعة تتطلّب بعض التنظيف. يحتوي عمود LaunchDate
على تنسيقات تواريخ غير متّسقة، ويحتوي عمود Brand
على بعض القيم غير المتوفّرة.
سنبدأ بالتعامل مع عمود LaunchDate
.
قبل إنشاء أيّ عمليات تحويل، اطّلِع على اقتراحات Gemini.
- انقر على اسم عمود
LaunchDate
. من المفترض أن تظهر لك بعض الاقتراحات التي تم إنشاؤها مشابهة للاقتراحات الواردة في الصورة أدناه.
- إذا ظهر لك اقتراح يتضمّن لغة الاستعلامات البنيوية (SQL) التالية، يمكنك تطبيق الاقتراح وتخطّي الخطوات التالية.
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
- إذا لم يظهر لك اقتراح يتطابق مع طلب البحث أعلاه، انقر على
Add Step
. - انقر على رمز الإضافة
Transformation
. - في حقل SQL، أدخِل ما يلي:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
- اضبط
Target Columns
علىLaunchDate
. - انقر على
Apply
.
يحتوي عمود LaunchDate الآن على تنسيق تاريخ ثابت.
9. إضافة جدول وجهة
أصبحت مجموعة البيانات الآن نظيفة وجاهزة للتحميل إلى جدول سمات في مستودع البيانات.
- انقر على
ADD STEP
. - انقر على رمز الإضافة
Destination
. - املأ المَعلمات المطلوبة: مجموعة البيانات:
bq_data_preparation_demo
الجدول:DimProduct
- انقر على
Save
.
لقد عملنا الآن على علامتَي التبويب "البيانات" و"المخطّط". بالإضافة إلى ذلك، توفّر ميزة "تحضير البيانات" في BigQuery عرض "الرسم البياني" الذي يعرض بصريًا تسلسل خطوات التحويل في مسار الإحالة الناجحة.
10. المكافأة أ: التعامل مع عمود "المصنّع" وإنشاء جدول الأخطاء
لقد رصدنا أيضًا قيمًا فارغة في عمود Manufacturer
. بالنسبة إلى هذه السجلات، نريد تنفيذ عملية تحقّق من جودة البيانات ونقلها إلى جدول أخطاء لإجراء مراجعة إضافية.
إنشاء جدول أخطاء
- انقر على الزر
More
بجانب عنوانstg_product data preparation
. - ضمن قسم
Setting
، انقر علىError Table
. - ضَع علامة في المربّع
Enable error table
، واضبط الإعدادات على النحو التالي:
- مجموعة البيانات: اختَر
bq_data_preparation_demo
. - الجدول: أدخِل
err_dataprep
. - ضمن
Define duration for keeping errors
، اختَر30 days (default)
.
- انقر على
Save
.
إعداد عملية التحقّق من صحة البيانات في عمود "الجهة المصنّعة"
- اختَر عمود "الشركة المصنّعة".
- من المرجّح أن يرصد Gemini عملية تحويل ذات صلة. ابحث عن الاقتراح الذي يحتفظ بالصفوف التي لا يكون فيها حقل "المُصنّع" فارغًا فقط. وسيحتوي على لغة SQL مشابهة لما يلي:
Manufacturer IS NOT NULL
2- انقر على الزر "تعديل" في هذا الاقتراح لمراجعته.
- ضَع علامة في مربّع الاختيار "يتم نقل صفوف عمليات التحقّق غير الناجحة إلى جدول الأخطاء" إذا لم تكن محدّدة.
- انقر على
Apply
.
يمكنك في أي وقت مراجعة عمليات التحويل التي طبّقتها أو تعديلها أو حذفها من خلال النقر على الزر "الخطوات المطبّقة".
إزالة العمود ProductID_1 المتكرّر
يمكن الآن حذف عمود ProductID_1 الذي يكرّر ProductID من الجدول المدمج.
- انتقِل إلى علامة التبويب
Schema
. - انقر على النقاط الثلاث بجانب عمود
ProductID_1
. - انقر على
Drop
.
نحن الآن جاهزون لتشغيل وظيفة إعداد البيانات والتحقّق من مسار الإحالة الناجحة بالكامل. بعد أن نكون راضين عن النتائج، يمكننا جدولة المهمة لتشغيلها تلقائيًا.
- قبل الانتقال بعيدًا عن عرض إعداد البيانات، عليك حفظ الإعدادات. بجانب عنوان
stg_product data preparation
، من المفترض أن يظهر لك زرSave
. انقر على الزرّ لحفظ التغييرات.
11. تنظيف البيئة
- حذف
stg_product data preparation
- حذف مجموعة بيانات
bq data preparation demo
12. تهانينا
تهانينا على إكمال دورة codelab.
المواضيع التي تناولناها
- إعداد ميزة "إعداد البيانات"
- فتح الجداول والتنقّل في عملية إعداد البيانات
- تقسيم الأعمدة التي تحتوي على بيانات رقمية وبيانات وصفية للوحدات
- توحيد تنسيقات التاريخ
- تشغيل عمليات إعداد البيانات