1. مقدمة
تخيَّل أنّه بإمكانك إعداد بياناتك للتحليل بشكل أسرع وأكثر كفاءة بدون الحاجة إلى أن تكون خبيرًا في الترميز. مع أداة إعداد البيانات في BigQuery، يصبح ذلك ممكنًا. تسهّل هذه الميزة الفعّالة عملية نقل البيانات وتحويلها وتنظيفها، ما يتيح لجميع خبراء البيانات في مؤسستك إعداد البيانات.
هل أنت مستعد للكشف عن الأسرار المخفية في بيانات منتجاتك؟
المتطلبات الأساسية
- فهم أساسي لـ Google Cloud وConsole
- فهم أساسي للغة SQL
ما ستتعلمه
- كيف يمكن أن تساعد عملية إعداد البيانات في BigQuery في تنظيف بياناتك الأولية وتحويلها إلى ذكاء أعمال قابل للاستخدام، وذلك باستخدام مثال واقعي من مجال الأزياء والجمال
- كيفية تشغيل عملية إعداد البيانات المجدوَلة لبياناتك النظيفة
المتطلبات
- حساب Google Cloud ومشروع Google Cloud
- متصفّح ويب، مثل Chrome
2. الإعداد الأساسي والمتطلبات
إعداد البيئة بالسرعة التي تناسبك
- سجِّل الدخول إلى Google Cloud Console وأنشِئ مشروعًا جديدًا أو أعِد استخدام مشروع حالي. إذا لم يكن لديك حساب على Gmail أو Google Workspace، عليك إنشاء حساب.



- اسم المشروع هو الاسم المعروض للمشاركين في هذا المشروع. وهي سلسلة أحرف لا تستخدمها Google APIs. ويمكنك تعديلها في أي وقت.
- رقم تعريف المشروع هو معرّف فريد في جميع مشاريع Google Cloud ولا يمكن تغييره بعد ضبطه. تنشئ Cloud Console تلقائيًا سلسلة فريدة، ولا يهمّك عادةً ما هي. في معظم دروس البرمجة، عليك الرجوع إلى رقم تعريف مشروعك (يُشار إليه عادةً باسم
PROJECT_ID). إذا لم يعجبك رقم التعريف الذي تم إنشاؤه، يمكنك إنشاء رقم تعريف عشوائي آخر. يمكنك بدلاً من ذلك تجربة اسم مستخدم من اختيارك ومعرفة ما إذا كان متاحًا. لا يمكن تغيير هذا الخيار بعد هذه الخطوة وسيظل ساريًا طوال مدة المشروع. - للعلم، هناك قيمة ثالثة، وهي رقم المشروع، تستخدمها بعض واجهات برمجة التطبيقات. يمكنك الاطّلاع على مزيد من المعلومات عن كل هذه القيم الثلاث في المستندات.
- بعد ذلك، عليك تفعيل الفوترة في Cloud Console لاستخدام موارد/واجهات برمجة تطبيقات Cloud. لن تكلفك تجربة هذا الدرس التطبيقي حول الترميز الكثير، إن وُجدت أي تكلفة على الإطلاق. لإيقاف الموارد وتجنُّب تحمّل تكاليف تتجاوز هذا البرنامج التعليمي، يمكنك حذف الموارد التي أنشأتها أو حذف المشروع. يمكن لمستخدمي Google Cloud الجدد الاستفادة من برنامج الفترة التجريبية المجانية بقيمة 300 دولار أمريكي.
3- قبل البدء
تفعيل واجهة برمجة التطبيقات
لاستخدام Gemini في BigQuery، يجب تفعيل واجهة برمجة التطبيقات "Gemini في Google Cloud". عادةً ما ينفّذ هذه الخطوة مشرف خدمة أو صاحب مشروع لديه serviceusage.services.enable إذن "إدارة الهوية وإمكانية الوصول".
- لتفعيل واجهة برمجة التطبيقات Gemini for Google Cloud، انتقِل إلى صفحة Gemini for Google Cloud في Google Cloud Marketplace. الانتقال إلى "Gemini في Google Cloud"
- في أداة اختيار المشاريع، اختَر مشروعًا.
- انقر على تفعيل. يتم تعديل الصفحة وعرض الحالة مفعَّل. أصبح Gemini في BigQuery متاحًا الآن في مشروع Google Cloud المحدّد لجميع المستخدمين الذين لديهم أذونات إدارة الهوية وإمكانية الوصول المطلوبة.
إعداد الأدوار والأذونات لتطوير عمليات إعداد البيانات
- في "إدارة الهوية وإمكانية الوصول والمشرف"، اختَر "إدارة الهوية وإمكانية الوصول".

- اختَر المستخدم وانقر على رمز القلم الرصاص لتعديل المستخدم الأساسي.

لاستخدام "إعداد بيانات BigQuery"، يجب أن يكون لديك الأدوار والأذونات التالية:
- محرِّر بيانات في BigQuery (roles/bigquery.dataEditor)
- مستخدم خدمة Service Usage (roles/serviceusage.serviceUsageConsumer)
4. العثور على بطاقة بيانات "عرض توضيحي لإعداد بيانات bq" والاشتراك فيها في BigQuery Analytics Hub
سنستخدم مجموعة بيانات bq data preparation demo في هذا البرنامج التعليمي. وهي مجموعة بيانات مرتبطة في BigQuery Analytics Hub سنقرأ منها.
لا تكتب عملية إعداد البيانات مرة أخرى في المصدر، وسنطلب منك تحديد جدول وجهة للكتابة فيه. لا يحتوي الجدول الذي سنتعامل معه في هذا التمرين إلا على 1,000 صف للحفاظ على الحد الأدنى من التكاليف، ولكن يتم تنفيذ عملية إعداد البيانات على BigQuery وسيتم توسيع نطاقها في الوقت نفسه.
اتّبِع الخطوات التالية للعثور على مجموعة البيانات المرتبطة والاشتراك فيها:
- الوصول إلى Analytics Hub: في Google Cloud Console، انتقِل إلى BigQuery.
- في قائمة التنقّل في BigQuery، ضِمن "إدارة البيانات"، اختَر "مركز التحليلات".

- ابحث عن البطاقة: في واجهة مستخدم "مركز الإحصاءات"، انقر على البحث عن البطاقات.
- اكتب
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من القائمة المنسدلة - في حقل طلب اللغة الطبيعية، أدخِل "استخرِج الكلمة بعد علامة الأنابيب (|) في عمود المنتج"، ثم اضغط على مفتاح الرجوع لإنشاء لغة 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))
- إذا لم تظهر لك توصية مطابقة لطلب البحث SQL أعلاه، انقر على
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. تهانينا
تهانينا على إكمال هذا الدرس العملي.
المواضيع التي تناولناها
- إعداد عملية إعداد البيانات
- فتح الجداول والتنقّل في عملية إعداد البيانات
- تقسيم الأعمدة التي تتضمّن بيانات وصفية رقمية ووحدات
- توحيد تنسيقات التاريخ
- تنفيذ عمليات إعداد البيانات