הכנת נתונים באמצעות סוכני AI ב-BigQuery codelab

1. מבוא

תארו לעצמכם שאתם יכולים להכין את הנתונים לניתוח מהר יותר וביעילות רבה יותר, בלי להיות מומחים בתכנות. עם BigQuery Data Preparation, זה אפשרי. התכונה המתקדמת הזו מפשטת את תהליך הטמעת הנתונים, הטרנספורמציה והניקוי של נתונים, ומאפשרת לכל מי שעוסק בנתונים בארגון להכין את הנתונים.

רוצים לגלות את הסודות שחבויים בנתוני המוצרים שלכם?

דרישות מוקדמות

  • הבנה בסיסית של Google Cloud Console
  • הבנה בסיסית של SQL

מה תלמדו

  • איך אפשר להשתמש בהכנת נתונים ב-BigQuery כדי לנקות את הנתונים הגולמיים ולהפוך אותם לבינה עסקית שניתן לפעול לפיה, באמצעות דוגמה ריאלית מתחום האופנה והיופי.
  • איך מריצים ומתזמנים את הכנת הנתונים לנתונים הנקיים

מה תצטרכו

  • חשבון Google Cloud ופרויקט Google Cloud
  • דפדפן אינטרנט כמו Chrome

2. הגדרה בסיסית ודרישות

הגדרת סביבה בקצב אישי

  1. נכנסים ל-מסוף Google Cloud ויוצרים פרויקט חדש או משתמשים בפרויקט קיים. אם עדיין אין לכם חשבון Gmail או Google Workspace, אתם צריכים ליצור חשבון.

fbef9caa1602edd0.pnga99b7ace416376c4.png5e3ff691252acf41.png

  • שם הפרויקט הוא השם המוצג למשתתפים בפרויקט. זו מחרוזת תווים שלא נמצאת בשימוש ב-Google APIs. תמיד אפשר לעדכן את המיקום.
  • מזהה הפרויקט הוא ייחודי לכל הפרויקטים ב-Google Cloud ואי אפשר לשנות אותו אחרי שהוא מוגדר. מסוף Cloud יוצר באופן אוטומטי מחרוזת ייחודית, ובדרך כלל לא צריך לדעת מה היא. ברוב ה-Codelabs, תצטרכו להפנות למזהה הפרויקט (בדרך כלל מסומן כ-PROJECT_ID). אם אתם לא אוהבים את המזהה שנוצר, אתם יכולים ליצור מזהה אקראי אחר. אפשר גם לנסות שם משתמש משלכם ולבדוק אם הוא זמין. אי אפשר לשנות את ההגדרה הזו אחרי השלב הזה, והיא נשארת לאורך הפרויקט.
  • לידיעתכם, יש ערך שלישי, מספר פרויקט, שחלק מממשקי ה-API משתמשים בו. מידע נוסף על שלושת הערכים האלה מופיע במאמרי העזרה.
  1. בשלב הבא, תצטרכו להפעיל את החיוב במסוף Cloud כדי להשתמש במשאבי Cloud או בממשקי API של Cloud. השלמת ה-codelab הזה לא תעלה לכם הרבה, אם בכלל. כדי להשבית את המשאבים ולמנוע חיובים נוספים אחרי שתסיימו את המדריך הזה, תוכלו למחוק את המשאבים שיצרתם או למחוק את הפרויקט. משתמשים חדשים ב-Google Cloud זכאים לתוכנית תקופת ניסיון בחינם בשווי 300$.

3. לפני שמתחילים

הפעלת ה-API

כדי להשתמש ב-Gemini ב-BigQuery, צריך להפעיל את Gemini for Google Cloud API. בדרך כלל אדמין שירות או בעל פרויקט עם הרשאת IAM‏ serviceusage.services.enable מבצעים את השלב הזה.

  1. כדי להפעיל את Gemini for Google Cloud API, נכנסים לדף Gemini ל-Google Cloud ב-Google Cloud Marketplace. כניסה לדף Gemini ל-Google Cloud
  2. בוחרים את הפרויקט מרשימת הפרויקטים.
  3. לוחצים על הפעלה. הדף יתעדכן ויופיע הסטטוס Enabled. ‫Gemini ב-BigQuery זמין עכשיו בפרויקט Google Cloud שנבחר לכל המשתמשים שיש להם את הרשאות ה-IAM הנדרשות.

הגדרת תפקידים והרשאות לפיתוח של פעולות הכנת נתונים

  1. בקטע IAM and Admin, בוחרים באפשרות IAM.

4477412d79f29e0b.png

  1. בוחרים את המשתמש ולוחצים על סמל העיפרון כדי לערוך את העיקרון.

5eb558e04ad12362.png

כדי להשתמש ב-BigQuery Data Preparation, תצטרכו את התפקידים וההרשאות הבאים:

4. חיפוש של כרטיס המוצר 'הדגמה של הכנת נתונים ב-bq' ב-BigQuery Analytics Hub והרשמה אליו

במדריך הזה נשתמש במערך הנתונים bq data preparation demo. זהו מערך נתונים מקושר ב-BigQuery Analytics Hub, שממנו נבצע קריאה.

הכלי להכנת נתונים אף פעם לא כותב בחזרה למקור, ולכן נבקש מכם להגדיר טבלת יעד לכתיבה. הטבלה שנעבוד איתה בתרגיל הזה כוללת רק 1,000 שורות כדי לשמור על עלויות מינימליות, אבל הכנת הנתונים מתבצעת ב-BigQuery ותתבצע בהתאם.

כדי למצוא את מערך הנתונים המקושר ולהירשם אליו:

  1. כדי לגשת אל Analytics Hub: במסוף Google Cloud, עוברים אל BigQuery.
  2. בתפריט הניווט של BigQuery, בקטע 'ניהול', בוחרים באפשרות Analytics Hub.

6ddfac4dd863ca7b.png

  1. מחפשים את כרטיס המוצר: בממשק המשתמש של Analytics Hub, לוחצים על חיפוש כרטיסי מוצר.
  2. מקלידים bq data preparation demo בסרגל החיפוש ומקישים על Enter.

7e0cb82b80174cdc.png

  1. להירשם לכרטיס המוצר: בוחרים את כרטיס המוצר bq data preparation demo מתוצאות החיפוש.
  2. בדף פרטי כרטיס המוצר, לוחצים על הלחצן הרשמה.
  3. בודקים את תיבות הדו-שיח לאישור ומעדכנים את הפרויקט או את מערך הנתונים לפי הצורך. ברירות המחדל אמורות להיות נכונות.

2ef0ac1e3557f2f9.png

  1. גישה למערך הנתונים ב-BigQuery: אחרי ההרשמה, מערכי הנתונים בפירוט המידע יקושרו לפרויקט שלכם ב-BigQuery.

חוזרים אל BigQuery Studio.

5. עיון בנתונים והפעלת תהליך להכנת הנתונים

  1. איתור מערך הנתונים והטבלה: בחלונית Explorer, בוחרים את הפרויקט ואז מאתרים את מערך הנתונים שנכלל ברשימה bq data preparation demo. בוחרים את הטבלה stg_product.
  2. פתיחה בהכנת נתונים: לוחצים על סמל האפשרויות הנוספות (3 נקודות) לצד שם הטבלה ובוחרים באפשרות Open in Data Preparation.

הטבלה תיפתח בממשק של הכנת הנתונים, ויהיה אפשר להתחיל לשנות את הנתונים.

76ace3d4b5cfc2d0.png

כפי שאפשר לראות בתצוגה המקדימה של הנתונים שבהמשך, יש לנו כמה אתגרים שקשורים לנתונים שאנחנו מתכוונים לטפל בהם, כולל:

  • בעמודת המחיר מופיעים גם הסכום וגם המטבע, ולכן קשה לבצע ניתוח.
  • בעמודת המוצר מופיע שילוב של שם המוצר והקטגוריה (מופרדים באמצעות קו אנכי |).

f4d93aa59a56447a.png

Gemini מנתח את הנתונים ומציע כמה טרנספורמציות. בדוגמה הזו, אפשר לראות מספר המלצות. בשלבים הבאים נחיל את ההגדרות שדרושות לנו.

fd4d14e4fa3c31c1.png

6. טיפול בעמודת המחיר

נתחיל עם העמודה מחיר. כפי שראינו, הוא מכיל גם את המטבע וגם את הסכום. המטרה שלנו היא להפריד את הנתונים האלה לשתי עמודות נפרדות:מטבע וסכום.

‫Gemini זיהה כמה המלצות לעמודת המחיר.

  1. מחפשים המלצה שדומה להמלצה הבאה:

תיאור: "הביטוי הזה מסיר את התחילית 'USD ' מהשדה שצוין"

REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
  1. בחירת תצוגה מקדימה

c9327cfbd32247d6.png

  1. לוחצים על אישור.

עכשיו, בעמודה Price, נמיר את סוג הנתונים מ-STRING ל-NUMERIC.

  1. מחפשים המלצה שדומה להמלצה הבאה:

תיאור: "המרת העמודה 'מחיר' מסוג מחרוזת לסוג float64"

SAFE_CAST(Price AS float64)
  1. לוחצים על אישור.

עכשיו אמורים להופיע שלושה שלבים ברשימת השלבים.

d3359af47dce0c15.png

7. טיפול בעמודת המוצרים

עמודת המוצר מכילה גם את שם המוצר וגם את הקטגוריה שלו, כשהם מופרדים באמצעות קו אנכי (|).

אפשר להשתמש שוב בשפה טבעית, אבל בואו נבדוק עוד אחת מהתכונות המתקדמות של Gemini.

תיקון שם המוצר

  1. בוחרים את החלק של הקטגוריה ברשומה של המוצר, כולל התו |, ומוחקים אותו.

5171d598a8cb3a75.png

‫Gemini יזהה את הדפוס הזה בצורה חכמה ויציע טרנספורמציה להחלה על העמודה כולה.

  1. בוחרים באפשרות 'עריכה'.

b36cac918b4f30e9.png

ההמלצה של Gemini מדויקת: הוא מסיר את כל מה שאחרי התו'|', וכך מבודד את שם המוצר.

אבל הפעם אנחנו לא רוצים להחליף את הנתונים המקוריים.

  1. בתפריט הנפתח של עמודת היעד, בוחרים באפשרות 'יצירת עמודה חדשה'.
  2. מגדירים את השם ל-ProductName.

bda19e0e5e536ccd.png

  1. צופים בתצוגה מקדימה של השינויים כדי לוודא שהכול נראה טוב.
  2. מחילים את הטרנספורמציה.

שליפת קטגוריית המוצרים

נשתמש בשפה טבעית כדי להנחות את Gemini לחלץ את המילה שאחרי התו (|) בעמודה Product. הערך שחולץ יחליף את הערך שמופיע בעמודה הקיימת שנקראת 'מוצר'.

  1. לוחצים על Add Step כדי להוסיף שלב חדש של טרנספורמציה.

77944047e698494c.png

  1. בתפריט הנפתח, בוחרים באפשרות Transformation.
  2. בשדה ההנחיה בשפה טבעית, מזינים extract the word after the pipe (|) in the Product column (חילוץ המילה אחרי התו | בעמודה Product) ואז לוחצים על מקש Enter כדי ליצור את ה-SQL.

82efc2447a3210bd.png

  1. משאירים את עמודת היעד כ-'מוצר'.
  2. לוחצים על 'אישור'.

הטרנספורמציה אמורה לתת את התוצאות הבאות.

d741c66d9e0e8e00.png

8. איחוד להעשרת הנתונים

לעתים קרובות, כדאי להעשיר את הנתונים במידע ממקורות אחרים. בדוגמה שלנו, נצרף את נתוני המוצרים שלנו למאפייני מוצר מורחבים, stg_extended_product, מטבלה של צד שלישי. הטבלה הזו כוללת פרטים כמו המותג ותאריך ההשקה.

  1. לוחצים על Add Step.
  2. בחירת Join
  3. עוברים לטבלה stg_extended_product.

dca14451c3fbc7f0.png

‫Gemini ב-BigQuery בחר עבורנו באופן אוטומטי את מפתח האיחוד productid וציין את הצדדים הימני והשמאלי, כי שם המפתח זהה.

הערה: צריך לוודא שבשדה התיאור מופיע הכיתוב 'הצטרפות באמצעות מזהה מוצר'. אם הוא כולל מפתחות נוספים לאיחוד, מחליפים את הטקסט בשדה התיאור בטקסט 'איחוד לפי productid' ולוחצים על לחצן היצירה בשדה התיאור כדי ליצור מחדש את ביטוי האיחוד עם התנאי הבא L.

productid

= R.

productid. 4d6dbfea28772f34.png

  1. אפשר גם ללחוץ על 'תצוגה מקדימה' כדי לראות תצוגה מקדימה של התוצאות.
  2. לוחצים על Apply.

ניקוי המאפיינים המורחבים

ההצטרפות בוצעה בהצלחה, אבל צריך לנקות את הנתונים של המאפיינים המורחבים. בעמודה LaunchDate יש פורמטים לא עקביים של תאריכים, ובעמודה Brand חסרים ערכים.

נתחיל עם העמודה LaunchDate.

f9b570d7c2d3a98d.png

לפני שיוצרים טרנספורמציות, כדאי לבדוק את ההמלצות של Gemini.

  1. לוחצים על שם העמודה LaunchDate. אמורות להופיע המלצות דומות לאלה שבתמונה שלמטה.

62b6e6027a46ba75.png

  1. אם אתם רואים המלצה עם ה-SQL הבא, לוחצים על החלת ההמלצה ומדלגים על השלבים הבאים.
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. אם לא מופיעה המלצה שתואמת ל-SQL שלמעלה, לוחצים על Add Step.
  2. לוחצים על Transformation.
  3. בשדה SQL, מזינים את הטקסט הבא:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. מגדירים את Target Columns לערך LaunchDate.
  2. לוחצים על Apply.

עכשיו העמודה LaunchDate כוללת תאריך בפורמט אחיד.

ccf34aa05754a834.png

9. הוספת טבלת יעד

מערך הנתונים שלנו נקי ומוכן לטעינה לטבלת מאפיינים במחסן הנתונים.

  1. לוחצים על ADD STEP.
  2. לוחצים על Destination.
  3. ממלאים את הפרמטרים הנדרשים: מערך נתונים: bq_data_preparation_demo טבלה: DimProduct
  4. לוחצים על Save.

79fdc3666a3a21b9.png

עכשיו עבדנו עם הכרטיסיות 'נתונים' ו'סכימה'. בנוסף, הכלי להכנת נתונים ב-BigQuery מספק תצוגה של גרף שבו מוצגת באופן חזותי רצף שלבי השינוי בצינור הנתונים.

95e64d8152228f7b.png

10. בונוס א': טיפול בעמודה Manufacturer (יצרן) ויצירת טבלת שגיאות

זיהינו גם ערכים ריקים בעמודה Manufacturer. לרשומות האלה אנחנו רוצים להטמיע בדיקה של איכות הנתונים ולהעביר אותן לטבלת שגיאות לבדיקה נוספת.

יצירת טבלת שגיאות

  1. לוחצים על הלחצן More לצד שם הפריט stg_product data preparation.
  2. בקטע Setting, בוחרים באפשרות Error Table.
  3. מסמנים את התיבה Enable error table ומגדירים את ההגדרות באופן הבא:
  • מערך נתונים: בוחרים באפשרות bq_data_preparation_demo
  • טבלה: מזינים err_dataprep
  • בקטע Define duration for keeping errors, בוחרים באפשרות 30 days (default).
  1. לוחצים על Save.

adb5722f05c1b205.png

הגדרת אימות בעמודה 'יצרן'

  1. בוחרים את העמודה 'יצרן'.
  2. סביר להניח ש-Gemini יזהה טרנספורמציה רלוונטית. מחפשים את ההמלצה שמשאירה רק שורות שבהן השדה 'יצרן' לא ריק. הוא יכלול SQL דומה לזה:
Manufacturer IS NOT NULL

‫2.לוחצים על הלחצן 'עריכה' בהמלצה כדי לעיין בה.

4749b551a03d8193.png

  1. אם האפשרות "שורות שבהן האימות נכשל עוברות לטבלת השגיאות" לא מסומנת, צריך לסמן אותה.
  2. לוחצים על Apply.

בכל שלב, אפשר לבדוק, לשנות או למחוק את השינויים שהחלתם בלחיצה על הלחצן 'השלבים שהוחלו'.

15df6caacbdd6a69.png

ניקוי העמודה המיותרת ProductID_1

עכשיו אפשר למחוק את העמודה ProductID_1, שהיא כפילות של ProductID מהטבלה המצורפת.

  1. עוברים לכרטיסייה Schema.
  2. לוחצים על סמל האפשרויות הנוספות (3 נקודות) לצד העמודה ProductID_1.
  3. לוחצים על Drop.

עכשיו אפשר להריץ את עבודת הכנת הנתונים ולאמת את כל צינור עיבוד הנתונים. אחרי שנוודא שהתוצאות טובות, נוכל לתזמן את העבודה כך שהיא תפעל באופן אוטומטי.

  1. לפני שיוצאים מתצוגת הכנת הנתונים, חשוב לשמור את ההכנות. לצד הכותרת stg_product data preparation, אמור להופיע לחצן Save. לוחצים על הלחצן כדי לשמור.

11. ניקוי הסביבה

  • מחיקת stg_product data preparation
  • מחיקת מערך הנתונים bq data preparation demo

12. מזל טוב

כל הכבוד, סיימתם את ה-Codelab.

מה נכלל

  • הגדרת תהליך להכנת הנתונים
  • פתיחת טבלאות וניווט בהכנת הנתונים
  • פיצול עמודות עם נתונים מספריים ותיאור יחידה
  • סטנדרטיזציה של פורמטים של תאריכים
  • הפעלת תהליכים להכנת נתונים