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

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

מידע על Codelab זה

subjectהעדכון האחרון: אפר׳ 9, 2025
account_circleנכתב על ידי Tim Bezold

1.‏ מבוא

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

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

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

מה צריך להכין

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

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

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

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

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

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

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

הפעלת ה-API

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

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

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

  1. בקטע IAM and Admin (ניהול זהויות והרשאות גישה ואדמין), בוחרים באפשרות IAM.

4477412d79f29e0b.png

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

5eb558e04ad12362.png

כדי להשתמש בתכונה 'הכנת נתונים' ב-BigQuery, נדרשים התפקידים וההרשאות הבאים:

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

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

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

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

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

6ddfac4dd863ca7b.png

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

7e0cb82b80174cdc.png

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

2ef0ac1e3557f2f9.png

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

חוזרים אל BigQuery Studio.

5.‏ בודקים את הנתונים ומתחילים בהכנת הנתונים

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

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

76ace3d4b5cfc2d0.png

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

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

f4d93aa59a56447a.png

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

fd4d14e4fa3c31c1.png

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

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

מערכת Gemini זיהתה כמה המלצות לגבי העמודה 'מחיר'.

  1. מחפשים המלצה שכתוב בה משהו דומה לזה:

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

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

c9327cfbd32247d6.png

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

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

  1. מחפשים המלצה שכתוב בה משהו דומה לזה:

תיאור: "Converts column Price from type string to 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" ואז מקישים על מקש Return כדי ליצור את ה-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'. אם הוא כולל מפתחות איחוד נוספים, מחליפים את שדה התיאור ב'איחוד לפי 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 Data Preparation מספק תצוגת 'תרשים' שבה מוצגת באופן חזותי רצף שלבי הטרנספורמציה בצינור עיבוד הנתונים.

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

הגדרת אימות בעמודה Manufacturer

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

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

4749b551a03d8193.png

  1. מסמנים את האפשרות Failed validation rows go to error table (שורות אימות שנכשלו עוברות לטבלת השגיאות) אם היא לא מסומנת.
  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.

מה עסקנו בו

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