איך משתמשים בסוכן הנדסת הנתונים כדי ליצור ולשנות צינורות עיבוד נתונים

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

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

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

מגבלות

לסוכן Data Engineering יש את המגבלות הבאות:

  • הסוכן להנדסת נתונים לא תומך בפקודות בשפה טבעית לסוגי הקבצים הבאים:
    • קובצי Notebook
    • תהליך הכנת נתונים
  • הסוכן להנדסת נתונים לא יכול להפעיל צינורות עיבוד נתונים. אתם צריכים לבדוק את הצינורות, להריץ אותם או לתזמן אותם.
  • הסוכן של Data Engineering לא יכול לחפש בקישורים לדפי אינטרנט אחרים או בכתובות URL שסופקו באמצעות הוראות או הנחיות ישירות.
  • כשמייבאים קבצים בקובץ הוראות לסוכן, תחביר הייבוא של @ תומך רק בנתיבים שמתחילים ב-./, ב-/ או באות.
  • התכונה תצוגה מקדימה של נתונים נתמכת רק בטבלאות, בהצהרות או בשאילתות שבהן הדגל hasOutput מוגדר ל-true.
  • הסוכן להנדסת נתונים כפוף למגבלות הכלליות של טכנולוגיית ה-AI.
  • כשיוצרים צינורות עיבוד נתונים בטבלאות חיצוניות של Apache Iceberg שמנוהלות על ידי הקטלוג הייעודי לזמן ריצה של Lakehouse (לשעבר המטא-נתונים של BigLake), חלות כל המגבלות של הקטלוג הייעודי לזמן ריצה של Lakehouse. הסוכן לא יכול ליצור מוטציות כתיבה (כמו INSERT,‏ UPDATE,‏ DELETE או MERGE) או הצהרות DDL (כמו CREATE TABLE או DROP TABLE) בטבלאות Iceberg. מידע נוסף זמין במאמר מושגים של נקודות קצה בקטלוג REST של Apache Iceberg.

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

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

הפעלת Gemini ב-BigQuery

מוודאים ש-Gemini ב-BigQuery מופעל בפרויקט ב-Google Cloud . מידע נוסף זמין במאמר הגדרת Gemini ב-BigQuery.

הפעלת ממשקי ה-API הנדרשים

console

מפעילים את ממשקי ה-API הבאים במסוף Google Cloud בפרויקט Google Cloudשבו משתמשים ב-Conversational Analytics API, אם הם עדיין לא מופעלים.

הפעלת Gemini Data Analytics API

הפעלת Gemini for Google Cloud API

הפעלת BigQuery API

gcloud

כדי להפעיל את Gemini Data Analytics API, את Gemini for Google CloudAPI ואת BigQuery API, אם הם עדיין לא מופעלים, משתמשים ב-Google Cloud CLI ומריצים את הפקודות הבאות של gcloud services enable:

gcloud services enable geminidataanalytics.googleapis.com --project=PROJECT_ID
gcloud services enable cloudaicompanion.googleapis.com --project=PROJECT_ID
gcloud services enable bigquery.googleapis.com --project=PROJECT_ID

מחליפים את PROJECT_ID במזהה הפרויקט ב- Google Cloud .

התפקידים הנדרשים

כדי לקבל את ההרשאה שדרושה לשימוש בנציג להנדסת נתונים, בקשו מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:

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

התפקיד המוגדר מראש הזה כולל את ההרשאה geminidataanalytics.locations.useDataEngineeringAgent, שנדרשת כדי להשתמש בסוכן להנדסת נתונים.

יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים מוגדרים מראש.

לפרטים על התפקידים הנדרשים כדי לשלוח שאילתות לטבלאות Apache Iceberg, קראו את המאמר התפקידים הנדרשים לתמיכה ב-Lakehouse Apache Iceberg.

דרישות מוקדמות לשילוב של Knowledge Catalog

כדי לקבל את ההרשאה שנדרשת לשילוב של סוכן הנדסת הנתונים עם קטלוג הידע, צריך לבקש מהאדמין להקצות לכם את התפקיד עריכת קטלוג Dataplex (roles/dataplex.catalogEditor) ב-IAM בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

התפקיד המוגדר מראש הזה כולל את ההרשאה geminidataanalytics.locations.useDataEngineeringAgent, שנדרשת כדי לשלב את סוכן ה-Data Engineering עם Knowledge Catalog.

יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים מוגדרים מראש.

אם אתם משתמשים בחשבון שירות בהתאמה אישית כדי להריץ צינורות עיבוד נתונים, אתם צריכים להקצות את התפקיד עריכה ב-Dataplex Catalog (roles/dataplex.catalogEditor) בפרויקט או בקבוצת הרשומות @bigquery. בנוסף, צריך להפעיל את Dataplex API.

הצפנת נתונים באמצעות מפתחות של Cloud Key Management Service

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

כדי להצפין את קוד הצינור ברמת הפרויקט, אתם יכולים להגדיר מפתח ברירת מחדל של Dataform Cloud Key Management Service.

הגדרת היקפי אבטחה של VPC Service Controls

אם אתם משתמשים ב-VPC Service Controls, אתם צריכים להגדיר את ההיקף כדי להגן על Dataform, על BigQuery ועל Conversational Analytics API. מידע נוסף זמין במאמרים בנושא Dataform,‏ BigQuery ו-Conversational Analytics API.

יצירת פייפליין נתונים באמצעות Data Engineering Agent

כדי להשתמש ב-Data Engineering Agent ב-BigQuery, בוחרים אחת מהאפשרויות הבאות:

צינורות עיבוד נתונים ב-BigQuery

כדי להשתמש בסוכן להנדסת נתונים בממשק של צינורות עיבוד הנתונים ב-BigQuery:

  1. נכנסים לדף BigQuery.

    כניסה ל-BigQuery

  2. בעורך השאילתות, לוחצים על arrow_drop_down Create new > Pipeline.

  3. בממשק של צינור עיבוד הנתונים, לוחצים על Ask agent.

  4. בשדה Ask agent, מזינים הנחיה בשפה טבעית כדי ליצור פייפליין. לדוגמה:

      Create dimension tables for a taxi trips star schema from
      new_york_taxi_trips.tlc_green_trips_2022. Generate surrogate keys and all
      the descriptive attributes.
    

    אחרי שמזינים הנחיה, לוחצים על שליחה.

  5. הסוכן להנדסת נתונים יוצר צינור עיבוד נתונים על סמך ההנחיה שלכם.

הסוכן להנדסת נתונים יוצר הצעה לטיוטה של צינור עיבוד נתונים. אתם יכולים ללחוץ על צומת בצינור עיבוד הנתונים כדי לבדוק את שאילתת ה-SQLX שנוצרה. כדי להחיל את פייפליין הנתונים שהציע הסוכן, לוחצים על Apply.

פייפליין נתונים עם לחצן 'החל' מודגש, המציין שינויים שהוצעו על ידי סוכן ה-Data Engineering.

Dataform

כדי להשתמש בסוכן להנדסת נתונים ב-Dataform:

  1. נכנסים אל Dataform.

    כניסה ל-Dataform

  2. בוחרים מאגר.

  3. בוחרים או יוצרים סביבת עבודה לפיתוח.

  4. בסביבת העבודה, לוחצים על Ask Agent (שאלה לסוכן).

  5. בתיבת הדו-שיח Ask agent, כותבים בשפה טבעית הנחיה ליצירת פייפליין. לדוגמה:

      Create dimension tables for a taxi trips star schema from
      new_york_taxi_trips.tlc_green_trips_2022. Generate surrogate keys and all
      the descriptive attributes.
    

    אחרי שמזינים הנחיה, לוחצים על שליחה.

אחרי ששולחים את ההנחיה, הסוכן להנדסת נתונים יוצר צינור עיבוד נתונים ומשנה את קובצי ה-SQLX של Dataform על סמך ההנחיה. הסוכן מבצע את השינויים האלה ישירות בקבצים בסביבת העבודה.

עריכת פייפליין

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

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

בודקים את השינויים שהציע הסוכן להנדסת נתונים ולוחצים על Apply כדי להחיל אותם.

אפשר גם לערוך שאילתת SQLX באופן ידני: בוחרים צומת בצינור עיבוד הנתונים ולוחצים על Open.

בדיקת פייפליין

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

  • בכרטיסייה Configuration מוצגת שאילתת ה-SQLX שנוצרה ומשויכת לצומת.
  • בכרטיסייה Data preview מוצגות טבלאות הקלט והפלט של הקובץ. כדי לראות תצוגה מקדימה של טרנספורמציית הנתונים דרך הצומת הזה, לוחצים על Run task כדי להריץ את המשימה עם או בלי יחסי תלות.

פתרון בעיות שקשורות לשגיאות בצינור עיבוד הנתונים

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

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

  1. בכרטיסייה Executions, לוחצים על הסטטוס של הרצת הביצוע שנכשלה ואז על Investigate.

    ממשק של פייפליין עם הרצה שנכשלה, שמודגשת, והלחצן Investigate בכרטיסייה Executions.

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

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

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

יצירת הוראות לסוכן

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

אתם יכולים ליצור קובץ הקשר של GEMINI.MD כקובץ הוראות לסוכן Data Engineering. אתם יכולים ליצור קובצי הוראות לסוכן לשימוש בסביבת העבודה המקומית, או להשתמש באותם קובצי הוראות בכמה פייפליינים עם מאגר חיצוני.

כדי ליצור הוראות לסוכן:

  1. בקטע Ask agent, לוחצים על Pipeline instructions.
  2. בחלונית Instructions for pipeline, לוחצים על Create instructions file.
  3. בקובץ GEMINI.MD שמופיע, מזינים את ההוראות בשפה טבעית.

    בדוגמה הבאה מוצג קובץ הוראות לנציג עם כמה כללים:

      1. All event-specific tables MUST be prefixed with `cs_event_`.
      2. The primary key for any player activity table is a composite key of `player_id` and `event_timestamp_micros`.
      3. Filter out any player actions where `mana_spent` is greater than `max_mana_pool`. This is considered a data anomaly.
    
  4. לוחצים על Save.

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

טעינת הוראות לסוכן ממאגר חיצוני

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

  1. בקטע Ask agent, לוחצים על Pipeline instructions.
  2. בקטע External repository, בוחרים באפשרות Use instructions from external repository.
  3. בשדות שמופיעים, מציינים מאגר שמכיל את ההוראות לסוכן שרוצים להשתמש בהן בפייפליין.
  4. לוחצים על Save.

תמיכה ב-AI וב-ML ב-BigQuery

סוכן הנדסת הנתונים תומך בהרבה פונקציות והצהרות של אובייקטים, AI ו-ML ב-BigQuery, בפייפליינים של Dataform SQLX שנוצרו ובקבצי ההוראות של הסוכן (GEMINI.MD) שאתם יוצרים, כולל:

כדי להריץ צינורות עיבוד נתונים של Dataform שמכילים פונקציות של AI גנרטיבי או מודלים מרוחקים, לחשבון השירות או למשתמש שמריץ את צינור עיבוד הנתונים צריכות להיות ההרשאות הנדרשות להרצת שאילתות של AI גנרטיבי. כשהסוכן להנדסת נתונים יוצר הצהרות DDL כמו CREATE MODEL או CREATE TABLE עם הטמעה אוטונומית, הוא מגדיר אותן כפעולות operations של Dataform‏ (type: "operations") עם hasOutput: true כדי שצומתי צינור עיבוד נתונים במורד הזרם יוכלו להפנות אליהם באמצעות ${ref("RESOURCE_NAME")}. הנציג משתמש בפונקציה AI.SEARCH רק בטבלאות שבהן מופעלת יצירת הטמעות אוטונומית.

כשעובדים עם פונקציות של ObjectRef, למשתמש צריכה להיות גם גישה מוקצית לקטגוריה הבסיסית של Cloud Storage. מידע נוסף על גישה שהוענקה

מידע נוסף על פונקציות AI ו-ML ב-BigQuery זמין במאמר מבוא ל-AI ב-BigQuery.

תרחישים לדוגמה

כדי להפעיל פונקציות נתמכות של AI ו-ML ב-Data pipelines, השתמשו בהן בדרכים הבאות:

  • אתם יכולים לבקש מסוכן ה-Data Engineering ליצור או לשנות צינור עיבוד נתונים. לדוגמה, אם אתם מהנדסי נתונים שיוצרים צינור עיבוד נתונים מתוזמן של ELT שמעשיר טקסט גולמי, מחלץ שדות מובְנים ממסמכים לא מובְנים או מדרג רשומות חדשות, הסוכן יוצר את קובצי ה-SQLX המתאימים של Dataform ואת תרשים התלות.

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

בטבלה הבאה מוצגות דוגמאות לפרומפטים שמפעילים את השימוש בפונקציות של AI או ML לפייפליינים של נתונים באצווה:

תרחיש לדוגמה דוגמאות לשימוש מערך נתונים ציבורי
סיכום טקסט באצווה (AI.GENERATE) "צור טבלת ביניים מ-bigquery-public-data.bbc_news.fulltext למאמרים בנושא 'ספורט' והוסף עמודה שמסכמת את עמודת גוף המאמר במשפט אחד או שניים". bigquery-public-data.bbc_news.fulltext
חילוץ סכימה מובנית (AI.GENERATE_TABLE) "צור טבלת צינור עיבוד נתונים שמחלצת סכימה מובנית (company_name STRING, ‏ key_topic STRING, ‏ is_earnings_related BOOL) מעמודת הגוף של מאמרים עסקיים ב-bigquery-public-data.bbc_news.fulltext". bigquery-public-data.bbc_news.fulltext
העשרת אובייקטים מולטי-מודאליים (OBJ.GET_ACCESS_URL) "צור טבלת אובייקטים חיצונית בקטגוריית התמונות של המוצרים ב-Cloud Storage, ובנה טבלה במורד הזרם שיוצרת מערך של image_description וישויות לכל תמונה באמצעות OBJ.GET_ACCESS_URL". טבלת אובייקטים של Cloud Storage (לדוגמה, gs://cloud-samples-data/bigquery/tutorials/cymbal-pets/images/*.png)
סינון נתונים סמנטי (AI.IF) "צור טבלה נקייה של מאמרים בנושא טכנולוגיה מ-bigquery-public-data.bbc_news.fulltext, וסנן אותה כך שיופיעו רק שורות שעוסקות בפריצות דרך בתחום הבינה המלאכותית". bigquery-public-data.bbc_news.fulltext
ניקוד סנטימנטים באצווה (AI.SCORE) "צור טבלה מועשרת מ-bigquery-public-data.bbc_news.fulltext לקטגוריית הבידור עם עמודה מספרית של sentiment_score שמדרגת את מידת הסנטימנט החיובי". bigquery-public-data.bbc_news.fulltext
סיווג טקסונומיה אוטומטי (AI.CLASSIFY) "בעזרת ביקורות הסרטים בקובץ bigquery-public-data.imdb.reviews, סווג אוטומטית כל ביקורת לפי רמות הטקסונומיה של העורכים שלנו, בהתאם לארכיטיפ הנרטיבי (למשל, 'מחקר דמויות', 'מחזה פעולה', 'מותחן פסיכולוגי') ולמצב הרוח בצפייה (למשל, 'אפל ומחוספס', 'מרומם נפש', 'מותח'). כתוב את התוצאות יחד עם המטא-נתונים של הסרטים בטבלה מסודרת". bigquery-public-data.imdb.reviews
אוסף סמנטי מקובץ (AI.AGG) "לכל סרט ב-bigquery-public-data.imdb.reviews, אסוף את כל המשוב מהקהל ממאות ביקורות וצור תקציר מנהלים מאוחד שמדגיש את הקונצנזוס של הביקורות, את השבחים העיקריים ואת התלונות החוזרות של הצופים. קבץ את התוצאות לפי movie_id ו-title לצד מדדים כמו ספירת הביקורות הכוללת והדירוג הממוצע כדי ליצור טבלת מידע מאוחדת ברמת הסרט למנהלי אולפנים ולצוותי שיווק". bigquery-public-data.imdb.reviews
יצירת הטמעות באצווה (AI.GENERATE_EMBEDDING) "צור צומת צינור עיבוד נתונים שיוצר הטמעות וקטורים לעמודת הביקורת ב-bigquery-public-data.imdb.reviews ומממש אותן בטבלת תכונות". bigquery-public-data.imdb.reviews
הטמעות אוטונומיות וחיפוש סמנטי (AI.EMBED, AI.SEARCH) "צור טבלה של ביקורות על סרטים עם הטמעה אוטומטית בעמודת הביקורות, וצור טבלה לפירוט נוסף שמוצאת את 10 הביקורות המובילות שתואמות ל"מותחן פסיכולוגי מותח"." bigquery-public-data.imdb.reviews
תחזית ביקוש מתוזמנת (AI.FORECAST) "צור טבלת דיווח יומית שחוזה את מספר הנסיעות באופניים שיתופיים ליום ב-30 הימים הבאים מ-bigquery-public-data.san_francisco_bikeshare.bikeshare_trips". bigquery-public-data.san_francisco_bikeshare.bikeshare_trips
זיהוי אנומליות בצינור עיבוד הנתונים (AI.DETECT_ANOMALIES) "צור טבלת מעקב שמזהה חריגות בנפח הנסיעות היומי בשנת 2018, באמצעות נתוני 2017 כבסיס היסטורי מ-bigquery-public-data.san_francisco_bikeshare.bikeshare_trips". bigquery-public-data.san_francisco_bikeshare.bikeshare_trips
דיווח אוטומטי על גורמים עיקריים (AI.KEY_DRIVERS) "צור טבלה לפירוט נוסף שמזהה את הגורמים העיקריים לשינויים בנפח הנסיעות בין 2017 ל-2018 באמצעות bigquery-public-data.austin_bikeshare.bikeshare_trips". bigquery-public-data.austin_bikeshare.bikeshare_trips
זיהוי נקודת שינוי (ML.DETECT_CHANGE_POINTS) "צור טבלה שמזהה נקודות של שינוי מבני בנפח הנסיעות היומי מ-bigquery-public-data.san_francisco_bikeshare.bikeshare_trips". bigquery-public-data.san_francisco_bikeshare.bikeshare_trips
אימון מודלים עם עיבוד מראש, הערכה וניקוד באצווה (CREATE MODEL, TRANSFORM, ML.EVALUATE, ML.PREDICT) "צור צינור עיבוד נתונים של Dataform ב-bigquery-public-data.ml_datasets.census_adult_income שמאמן מודל רגרסיה לוגיסטית עם משפט TRANSFORM כדי לחזות את income_bracket, מעריך את המודל בטבלת הערכה ומוציא חיזויים באצווה לטבלת ניקוד". bigquery-public-data.ml_datasets.census_adult_income
פילוח לקוחות (CREATE MODEL עם KMEANS) "צור צינור עיבוד נתונים שמאמן מודל אשכולות K-means על מדידות פיזיות של פינגווינים מ-bigquery-public-data.ml_datasets.penguins ומקצה מזהי אשכולות לטבלת פלט מפולחת". bigquery-public-data.ml_datasets.penguins
אימות אוטומטי של סטיית נתונים (ML.VALIDATE_DATA_DRIFT) "הוסף טבלת מעקב לצינור עיבוד הנתונים שמאמתת את השינוי במאפיינים בין טבלת הנסיעות הבסיסית מ-2017 לבין טבלת הנסיעות שמוצגות מ-2018 מ-bigquery-public-data.san_francisco_bikeshare.bikeshare_trips". bigquery-public-data.san_francisco_bikeshare.bikeshare_trips

פרומפטים לדוגמה

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

צבירת נתונים קיימים בטבלה חדשה

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

  Create a daily sales report from the
  bigquery-public-data.thelook_ecommerce.order_items table into a
  reporting.daily_sales_aggregation table.

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

ההנחיה הזו מראה איך להוסיף טבלה ועמודה, ולציין בדיקות איכות לטבלה בו-זמנית:

  Create a new table named staging.products from
  bigquery-public-data.thelook_ecommerce.products and add a calculated column
  named gross_profit, which is the retail_price minus the cost.


  Also, add the following assertions: ID must not be null and must be unique.
  The retail_price must be greater than or equal to the cost. The department
  column can only contain 'Men' or 'Women'.

יצירת פונקציות UDF כחלק מהגדרת המודל

הסוכן של מהנדס מערכות המידע יכול גם להגדיר את ה-DDL כדי ליצור פונקציות בהגדרת המשתמש (UDF). הסוכן לא ייצור את ה-UDF בפועל, אבל אתם יכולים ליצור את ה-UDF על ידי הפעלת פייפליין. אפשר להשתמש בפונקציות האלה בהגדרות של מודלים בפייפליין.

  Create a user-defined function (UDF) named get_age_group that takes an integer
  age as input and returns a string representing the age group ('Gen Z',
  'Millennial', 'Gen X', 'Baby Boomer').


  Use this UDF on the age column from the
  bigquery-public-data.thelook_ecommerce.users table to create a new view called
  reporting.user_age_demographics that includes user_id, age, and the calculated
  age_group.

העשרת נתונים לא מובנים והרצת חיזויים של למידת מכונה באצווה בצינור עיבוד נתונים

ההנחיה הזו מראה איך לשלב הנדסת פיצ'רים (feature engineering) התנהגותית, מודל סיווג של BigQuery ML והתאמה אישית באמצעות AI גנרטיבי בצמתים משורשרים של צינור עיבוד נתונים ב-Dataform:

  Create a multi-step Dataform pipeline using
  bigquery-public-data.thelook_ecommerce.users and bigquery-public-data.thelook_ecommerce.orders:

  1. Create a staging table on a sample of customers to engineer retention
     features (tenure, lifetime spend, recency) and label churn based on
     inactivity over the past 90 days.
  2. Train a BigQuery ML logistic regression model on those behavioral features
     to predict churn risk.
  3. Create a final table that scores customer churn probabilities and drafts
     personalized, 3-sentence win-back emails with purchase-tailored discounts
     for the 20 customers at highest risk of churning.

שיטות מומלצות

כדי לשפר את התוצאות כשעובדים עם הסוכן להנדסת נתונים ועם Dataform, מומלץ לבצע את הפעולות הבאות:

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

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

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

In the plan, ensure that all of the intermediate tables are views.

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

Create a plan for a pipeline that finds the
top N pick up and drop off locations in NYC. You have my explicit pre-approval
to go ahead and execute this plan.

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

  Extract data from the sales.customers table in the us_west_1 region, and load
  it into the reporting.dim_customers table in BigQuery. Match the schema of the
  destination table.

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

  1. Create a new table named staging.events_cleaned. Use raw.events as the
     source. This new table should filter out any records where the user_agent
     matches the pattern '%bot%'. All original columns should be included.

  2. Next, create a table named analytics.user_sessions. Use
     staging.events_cleaned as the source. This table should calculate the
     duration for each session by grouping by session_id and finding the
     difference between the MAX(event_timestamp) and MIN(event_timestamp).

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

  When creating the staging.customers table, it is *VERY IMPORTANT* that you
  transform the email column from the source table bronze.raw_customers.
  Coalesce any NULL values in the email column to an empty string ''.

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

  Create a pipeline with the following steps:
  1. Extract data from the ecomm.orders table.
  2. Join the extracted data with the marts.customers table on customer_id.
  3. Load the final result into the reporting.customer_orders table.

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

  The previous query was incorrect because it removed the timestamp. Please
  correct the SQL. Use the TIMESTAMP_TRUNC function to truncate the
  event_timestamp to the nearest hour, instead of casting it as a DATE. For
  example: TIMESTAMP_TRUNC(event_timestamp, HOUR).