הגדרת אוספים

במסמך הזה מוסבר איך לבצע את הפעולות הבאות ב-Dataform:

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

  1. נכנסים לדף Dataform במסוף Google Cloud .

    כניסה ל-Dataform

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

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

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

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

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

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

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

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

כדי לעדכן את גרסת ההפצה של הגדרת ההפצה במאגר של Dataform, צריך לתת את ההרשאה iam.serviceAccounts.actAs לסוכן השירות של Dataform בכל חשבון שירות בהתאמה אישית בהגדרות של תהליך העבודה שמשתמשות בהגדרת ההפצה הזו. ההרשאה הזו זמינה בתפקיד המשתמש בחשבון השירות (roles/iam.serviceAccountUser). מידע נוסף זמין במאמר הקצאת תפקידי ה-IAM הנדרשים.

מבוא למחזור החיים של תהליך העבודה ב-Dataform

בקטע הזה מתואר מחזור החיים של תהליך העבודה ב-Dataform, ודרכים להגדיר את ההידור וההפעלה ב-Dataform.

מחזור החיים של תהליך העבודה ב-Dataform מורכב מהשלבים הבאים:

פיתוח
מפתחים תהליך עבודה בסביבת עבודה ב-Dataform.
אוסף

‫Dataform מקמפל את קוד תהליך העבודה בסביבת העבודה ל-SQL בזמן אמת, ויוצר תוצאת קומפילציה של סביבת העבודה שאפשר להריץ ב-BigQuery. כדי ליצור את תוצאת ה-compilation, ‏Dataform משתמש בהגדרות שקבעתם בקובץ ההגדרות של תהליך העבודה.

ההידור של Dataform הוא הרמטי כדי להבטיח עקביות בהידור, כלומר אותו קוד עובר הידור לאותה תוצאת הידור של SQL בכל פעם. ‫Dataform מקמפל את הקוד בסביבת ארגז חול (sandbox) ללא גישה לאינטרנט. במהלך ההידור אי אפשר לבצע פעולות נוספות, כמו קריאה לממשקי API חיצוניים.

ביצוע

בהפעלה של תהליך עבודה, Dataform מריץ את תוצאת ההידור של סביבת העבודה ב-BigQuery.

כדי להתאים את מחזור החיים של תהליך העבודה ב-Dataform לצרכים שלכם, אתם יכולים להגדיר את תוצאת ההידור (compilation) כך שתשפיע על המיקום והאופן שבו Dataform מריץ את תהליך העבודה. לאחר מכן, אתם יכולים להפעיל או לתזמן הפעלות באופן ידני כדי להשפיע על המועד שבו Dataform יריץ את כל תהליך העבודה או את הרכיבים שנבחרו.

דרכים להגדרת הידור (compilation) ב-Dataform

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

ב-Dataform יש כמה אפשרויות להגדרת תוצאות ההידור:

שינוי הגדרות ברירת המחדל של הקומפילציה בסביבת העבודה
אפשר להגדיר שינויים בהידור שיחולו על כל סביבות העבודה במאגר. אתם יכולים להשתמש בשינויים של הגדרות ברירת המחדל של הידור סביבת העבודה כדי ליצור סביבות פיתוח מבודדות.
הגדרות מוצר
אתם יכולים ליצור הגדרות הפצה כדי להגדיר תבניות ליצירת תוצאות הידור של מאגר Dataform. אחרי זה אפשר ליצור הגדרת תהליך עבודה כדי לתזמן הפעלות של תוצאות קומפילציה שנוצרו בהגדרת גרסה נבחרת.
שינוי הגדרות ברירת המחדל של הידור (compilation) ב-Dataform API
אתם יכולים להעביר בקשות API של Dataform בטרמינל כדי ליצור ולהריץ תוצאת הידור אחת עם שינויים בהידור.

הגדרת שינויים מברירת המחדל של הידור סביבת העבודה

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

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

אפשר להגדיר את ההגדרות הבאות לשינוי ברירת המחדל של הידור סביבת העבודה:

  • הפרויקט ב-Google Cloud שבו Dataform מריץ את התוכן של סביבת העבודה
  • קידומת הטבלה
  • סיומת הסכימה

אתם יכולים להשתמש בשינויים של הגדרות ברירת המחדל של הידור סביבת העבודה כדי ליצור סביבות פיתוח מבודדות, על ידי בידוד של תוצאות ההידור של סביבת העבודה ב-BigQuery באמצעות שינויים דינמיים של הגדרות ברירת המחדל של ההידור. התאמות אישיות של קידומת טבלה דינמית וסיומת סכימה דינמית מכילות את המשתנה ${workspaceName}. כשמפעילים הרצה בסביבת עבודה, מערכת Dataform מחליפה את המשתנה ${workspaceName} בשם של סביבת העבודה הנוכחית, ויוצרת שינויים ייחודיים לסביבת העבודה בהגדרות של הידור.

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

יצירת הגדרות מוצר

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

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

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

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

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

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

הגדרת תוצאת הידור אחת באמצעות שינוי ברירת המחדל של ההידור ב-Dataform API

כדי להגדיר שינויים בהגדרות של תוצאת הידור אחת, אתם יכולים להעביר בקשות ל-Dataform API בטרמינל.

בבקשה compilationResults.create, אתם יכולים ליצור תוצאת הידור אחת של סביבת עבודה ב-Dataform או של commitish ספציפי ב-Git, שיכול להיות הסתעפות, תג או SHA של commit.

באובייקט CodeCompilationConfig של בקשת ה-compilationResults.create, אתם יכולים להגדיר שינויים בבקשת ה-compilation.

אפשר להגדיר את השינויים הבאים בהגדרות ברירת המחדל של ה-API של Dataform:

חשוב לזכור שהשינויים בתוצאות ההידור של Dataform API חלים על תוצאת הידור אחת ועל הפעלה אחת. אי אפשר להשתמש בהם כדי לתזמן הפעלות של Dataform.

אפשר להריץ תוצאת הידור בבקשה workflowInvocations.create.

דרכים להגדיר את ההפעלה של Dataform

ב-Dataform יש את האפשרויות הבאות להגדרת ההפעלה:

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

הפעלה מיידית של ביצוע בסביבת עבודה

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

אתם יכולים להריץ באופן ידני את הרכיבים הבאים של תהליך העבודה בסביבת העבודה:

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

יצירת הגדרות של תהליכי עבודה

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

בהגדרות של תהליך עבודה, אפשר לקבוע את הגדרות ההפעלה הבאות:

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

אפשר לבחור להריץ את הפעולות הבאות בתהליך העבודה:

  • כל הפעולות
  • הפעולות שנבחרו
  • פעולות עם התגים שנבחרו

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

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

תפוגה של משאבים במחזור החיים

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

תפוגה של הפעלות של תהליכי עבודה

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

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

תפוגת התוקף של תוצאות ההידור

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

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

בהגדרת גרסה, תוצאת הקימפול האחרונה הופכת לתוצאת הקימפול הפעילה. תוצאת קומפילציה חדשה מחליפה את תוצאת הקומפילציה הפעילה הנוכחית. תוצאת ההידור הפעילה נשמרת ב-Dataform עד שהיא מוחלפת בתוצאת הידור חדשה. התוקף של תוצאת הידור שהוחלפה פג תוך 24 שעות.

‫Dataform מסיר תוצאות הידור שפג תוקפן מרשימת תוצאות ההידור הקודמות בדף Details של הגדרת הגרסה.

תוצאות ההידור שנוצרו על ידי הפעלות של תהליכי עבודה נשמרות ב-Dataform למשך כל חיי ההפעלה של תהליך העבודה, עד 24 שעות אחרי שהתוקף של הפעלת תהליך העבודה פג או שהיא נמחקה.

יצירת שינויים מברירת המחדל של הידור סביבת העבודה

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

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

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

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

פרויקט

הפרויקט ב- Google Cloud שבו Dataform מריץ את תוצאת ההידור של סביבת העבודה, שמוגדר ב-workflow_settings.yaml בתור defaultProject או ב-dataform.json בתור defaultDatabase.

קידומת הטבלה

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

סיומת הסכימה

הסיומת המותאמת אישית שמתווספת לסכימה של הטבלאות. מגדירים בתור defaultDataset ב-workflow_settings.yaml, בתור defaultSchema ב-dataform.json או בפרמטר schema בבלוק config של טבלה.

כדי ליצור סביבות פיתוח מבודדות, אתם יכולים לבודד סביבות עבודה באמצעות שינויים ייחודיים של הגדרות ברירת המחדל של ה-compilation. אפשר לשנות באופן דינמי את הקידומת של הטבלה ואת הסיומת של הסכימה באמצעות המשתנה ${workspaceName}.

כשמפעילים באופן ידני את ההרצה בסביבת עבודה, המשתנה ${workspaceName} מוסיף את שם סביבת העבודה לשינויים של הידור סביבת העבודה.

כשמגדירים את ${workspaceName} בתור הקידומת של הטבלה, Dataform מוסיף את השם של סביבת העבודה לשמות של כל הטבלאות בסביבת העבודה. אחרי ההפעלה, ב-BigQuery, אתם יכולים לזהות מאיזו סביבת עבודה הגיעה הטבלה.

כשמגדירים את ${workspaceName} כסיומת הסכימה, Dataform מוסיף את שם סביבת העבודה ל-defaultSchema ויוצר סכימה בהתאמה אישית שמיועדת לסביבת העבודה. אחרי ההפעלה, ב-BigQuery אפשר לאתר את כל הטבלאות שמופעלות מסביבת עבודה ספציפית בסכימה הייעודית.

דוגמה לשינוי הגדרות של קומפילציה דינמית של סביבת עבודה

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

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

הגדרות ברירת המחדל הבאות נקבעות ב-workflow_settings.yaml:

  • defaultProject : analytics
  • defaultDataset: dataform

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

  • מזהה פרויקט בענן של Google: analytics_dev
  • Table prefix: ${workspaceName}
  • סיומת הסכימה: ${workspaceName}

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

  • Google Cloud פרויקט: analytics_dev
  • סכימה: dataform_sasha
  • שמות הטבלאות: sasha_name, לדוגמה, sasha_orders

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

  • Google Cloud פרויקט: analytics_dev
  • סכימה: dataform_kai
  • שמות הטבלאות: kai_name, לדוגמה, kai_orders

יצירת שינויים מברירת המחדל של הידור סביבת העבודה

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

  1. במאגר, עוברים אל Settings (הגדרות).
  2. לוחצים על Edit.
  3. בחלונית Workspace compilation overrides, בשדה Google Cloud Project ID, מזינים את מזהה פרויקט בענן.
  4. בשדה Table prefix, מזינים קידומת לכל שמות הטבלאות.
    1. אופציונלי: כדי ליצור קידומת דינמית לטבלה שהיא ייחודית לכל סביבת עבודה, מזינים ${workspaceName} בתור הקידומת של הטבלה.
  5. בשדה Schema suffix, מזינים סיומת שרוצים להוסיף לסכימה של הטבלה או התצוגה שנוצרה.
    1. אופציונלי: כדי ליצור סיומת סכימה דינמית ייחודית לכל סביבת עבודה, מזינים ${workspaceName} בתור סיומת הטבלה.
  6. לוחצים על Save.

‫Dataform מחיל את ההגדרות האישיות של קומפילציית סביבת העבודה על כל סביבות העבודה במאגר.

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

כדי לערוך את ההגדרות האישיות של הקומפילציה בסביבת העבודה ב-Dataform:

  1. במאגר, עוברים אל Settings (הגדרות).
  2. לוחצים על Edit.
  3. עורכים את ההגדרות של סביבת העבודה שמחליפות את ההגדרות של הקומפילציה, ולוחצים על שמירה.

מחיקת ההגדרות של שינוי ברירת המחדל של אוסף סביבת העבודה

כדי למחוק את ההגדרות האישיות של הקומפילציה בסביבת העבודה ב-Dataform:

  1. במאגר, עוברים אל Settings (הגדרות).
  2. לוחצים על Edit.
  3. בחלונית Workspace compilation overrides, לוחצים על Clear all ואז על Save.

הגדרת שינויים בהידור באמצעות Dataform API

בקטע הזה מוסבר איך ליצור ולהריץ תוצאת הידור עם שינויים ידניים בהידור באמצעות Dataform API.

מידע על שינוי הגדרות ברירת המחדל של הידור (compilation) ב-Dataform API

כדי להריץ את תהליך העבודה, Dataform מקמפל את הקוד ל-SQL כדי ליצור תוצאת הידור. לאחר מכן, במהלך הפעלת תהליך עבודה, Dataform מריץ את תוצאת ההידור ב-BigQuery.

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

כדי ליצור ולהריץ תוצאת הידור אחת עם שינויים ידניים בהידור, אתם יכולים להעביר בקשות ל-Dataform API בטרמינל. אתם יכולים ליצור תוצאת קומפילציה של סביבת עבודה או של Git commitish שנבחר, כמו branch,‏ tag או commit SHA.

כדי ליצור תוצאת הידור עם שינויים בהידור, צריך לשלוח בקשה ל-Dataform API compilationResults.create. בבקשה, צריך לציין מקור, שיכול להיות סביבת עבודה או commitish של Git, כדי ש-Dataform יקמפל לתוצאת הקומפילציה. באובייקט CodeCompilationConfig של בקשת compilationResults.create, אפשר להגדיר שינויים בקומפילציה.

אחרי זה תוכלו להריץ את תוצאת ההידור שנוצרה בבקשת workflowInvocations.create ב-Dataform API.

אפשר להגדיר את השינויים הבאים בהגדרות ברירת המחדל של ה-API של Dataform:

Google Cloud project

הפרויקט שבו Dataform מריץ את תוצאת ההידור, שמוגדר בקובץ workflow_settings.yaml כמאפיין defaultProject או בקובץ dataform.json כמאפיין defaultDatabase.

קידומת הטבלה

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

סיומת הסכימה

הסיומת המותאמת אישית שמתווספת לסכימה של הטבלאות שמוגדרות במאפיין defaultDataset בקובץ workflow_settings.yaml, במאפיין defaultSchema בקובץ dataform.json או בפרמטר schema בבלוק config של טבלה.

ערך של משתנה קומפילציה

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

במקום להשתמש בשינויים ידניים של הידור ב-Dataform API, שאפשר להשתמש בהם רק לתוצאת הידור אחת, אתם יכולים להגדיר שינויים ידניים של הידור בסביבת העבודה ב Google Cloud מסוף.

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

הגדרת מקור לתוצאות של אוסף

כדי לשלוח בקשת Dataform API (compilationResults.create), צריך לציין מקור לתוצאת ה-compilation.

אתם יכולים להגדיר סביבת עבודה של Dataform או הסתעפות Git, תג Git או SHA של שמירת Git כמקור בבקשה compilationResults.create.

הגדרת סביבת עבודה כמקור לתוצאות קומפילציה

  • בבקשה compilationResults.create, מאכלסים את המאפיין workspace בנתיב של סביבת העבודה שנבחרה ב-Dataform, בפורמט הבא:

    {
    "workspace": "projects/PROJECT_NAME/locations/LOCATION/repositories/REPOSITORY_NAME/workspaces/WORKSPACE_NAME"
    }
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫PROJECT_NAME: שם הפרויקט ב- Google Cloud .
    • ‫LOCATION: המיקום של מאגר Dataform, שמוגדר בהגדרות של תהליך העבודה.
    • ‫REPOSITORY_NAME: השם של מאגר Dataform.
    • ‫WORKSPACE_NAME: השם של סביבת העבודה ב-Dataform.

בדוגמת הקוד הבאה מוצג המאפיין workspace בבקשה compilationResults.create, שמוגדר לסביבת עבודה בשם "sales-test":

{
"workspace": "projects/analytics/locations/europe-west4/repositories/sales/workspaces/sales-test"
}

הגדרת commitish ב-Git כמקור לתוצאת הידור

  • בבקשה compilationResults.create, מאכלסים את המאפיין gitCommitish ב-Git branch, ב-tag או ב-commit SHA שנבחרו, בפורמט הבא:

    {
      "gitCommitish": "GIT_COMMITISH"
    }
    

    מחליפים את GIT_COMMITISH בהסתעפות Git, בתג Git או ב-SHA של Git commit שנבחרו לתוצאת הקימפול.

בדוגמת הקוד הבאה, המאפיין gitCommitish בבקשה compilationResults.create מוגדר ל-"staging":

{
  "gitCommitish": "staging"
}

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

כדי ליצור טבלאות של סביבת Staging או של סביבת ייצור בפרויקט Google Cloud נפרד מהפרויקט שמשמש לפיתוח, אתם יכולים להעביר מזהה פרויקט אחר באובייקט CodeCompilationConfig בבקשת compilationResults.create ב-Dataform API.

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

  • כדי לשנות את מזהה הפרויקט שמוגדר כברירת מחדל, מגדירים את המאפיין defaultDatabase למזהה הפרויקט שנבחר באובייקט CodeCompilationConfig בפורמט הבא:

    {
      "codeCompilationConfig": {
        "defaultDatabase": "PROJECT_NAME"
      }
    }
    

    מחליפים את PROJECT_NAME במזהה הפרויקט שרוצים להגדיר לתוצאת ה-compilation.

הוספת קידומת לטבלה

כדי לזהות במהירות טבלאות מתוצאת ההידור, אתם יכולים להוסיף קידומת לכל שמות הטבלאות בתוצאת ההידור. לשם כך, מעבירים את הקידומת של הטבלה באובייקט CodeCompilationConfig בבקשת compilationResults.create של Dataform API.

  • כדי להוסיף קידומת לטבלה, מגדירים את המאפיין tablePrefix באובייקט CodeCompilationConfig בפורמט הבא:

    {
      "codeCompilationConfig": {
        "tablePrefix": "PREFIX",
      }
    }
    

    מחליפים את PREFIX בקידומת שרוצים להוסיף, לדוגמה staging.

    לדוגמה, אם שם הטבלה הוא table_name, ‏Dataform יוצר טבלאות עם השם staging_table_name.

הוספת סיומת לסכימה

כדי להפריד בין נתוני הפיתוח, ה-staging והייצור, אתם יכולים להוסיף סיומת לסכימות בתוצאת הידור. לשם כך, מעבירים את הסיומת של הסכימה באובייקט CodeCompilationConfig בבקשת compilationResults.create של Dataform API.

  • כדי להוסיף סיומת לסכימה, מגדירים את המאפיין schemaSuffix באובייקט CodeCompilationConfig בפורמט הבא:

    {
      "codeCompilationConfig": {
        "schemaSuffix": "SUFFIX",
      }
    }
    

    מחליפים את SUFFIX בסיומת שרוצים להוסיף, לדוגמה _staging.

    לדוגמה, אם המאפיין defaultDataset בקובץ workflow_settings.yaml מוגדר ל-dataform, ‏Dataform יוצר טבלאות בסכימה dataform_staging.

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

כדי להריץ טבלה שנבחרה רק בהגדרת הפעלה ספציפית, אפשר ליצור משתנה הידור להגדרת ההפעלה ואז להעביר את הערך שלו באובייקט CodeCompilationConfig בבקשת compilationResults.create של Dataform API.

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

  1. יוצרים משתנה אוסף ומוסיפים אותו לטבלאות שנבחרו.
  2. מגדירים את צמד המפתח/ערך YOUR_VARIABLE ו-VALUE בבלוק codeCompilationConfig של בקשת הידור ב-Dataform API, בפורמט הבא:

    {
      "codeCompilationConfig": {
        "vars": {
          "YOUR_VARIABLE": "VALUE"
        }
      }
    }
    
  3. מחליפים את YOUR_VARIABLE בשם של המשתנה, לדוגמה executionSetting.

  4. מחליפים את VALUE בערך של המשתנה של תוצאת ההידור הזו, שעומד בתנאי when שהוגדר בטבלאות שנבחרו.

בדוגמת הקוד הבאה מוצג המשתנה executionSetting שמועבר לבקשת הידור של Dataform API:

{
  "gitCommitish": "staging",
  "codeCompilationConfig": {
    "vars": {
      "executionSetting": "staging"
    }
  }
}

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

  • כדי להריץ את תוצאת הקימפול שנוצרה על ידי בקשת compilationResults.create, מעבירים את מזהה תוצאת הקימפול שהוחזר על ידי בקשת compilationResults.create בבקשת workflowInvocations.create.

בדוגמת הקוד הבאה מוצג מזהה של תוצאת הידור שמועבר בבקשת workflowInvocations.create:

{
  "compilationResult": "projects/my-project-name/locations/europe-west4/repositories/my-repository-name/compilationResults/7646b4ed-ac8e-447f-93cf-63c43249ff11"
}

יצירת הגדרות לגרסה

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

כדי להריץ תהליכי עבודה ב-BigQuery, ‏Dataform מקמפל את קוד ה-SQL של תהליך העבודה לתוצאת קומפילציה. התהליך הזה מתרחש באופן אוטומטי כשמפתחים תהליך עבודה בסביבת עבודה ב-Dataform.

הגדרות המוצר מאפשרות לכם להתאים אישית את תוצאות ההידור. אפשר להשתמש בהם כדי ליצור סביבות הרצה, למשל סביבת Staging.

הגדרות אישיות של הגרסה

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

הגדרת גרסה ב-Dataform מכילה את הגדרות ה-compilation הבאות:

הגדרות הגרסה
המזהה של הגרסה, ה-Git commitish לתוצאות הקימפול, כמו הסתעפות, תג או SHA של commit, ותדירות היצירה של תוצאות הקימפול. התדירות היא הגדרה אופציונלית. אם מגדירים את המדיניות, התדירות המינימלית היא שעה אחת.
שינויים בהידור
שינויים של הפרויקט, הקידומת של הטבלה, הסיומת של הסכימה ומשתני ההידור שמוגדרים בהגדרות של תהליך העבודה.Google Cloud

איך פועלת הגדרת גרסה

‫Dataform יוצר תוצאות הידור מהגדרת גרסה בתדירות שצוינה, או כשמפעילים הידור. הגדרת התדירות היא אופציונלית, ולא חובה להגדיר אותה כדי ליצור הגדרת הפצה. אם מגדירים את המדיניות, התדירות המינימלית היא שעה אחת. אתם יכולים להפעיל את ההידור באופן ידני בדף Release configuration details, או להפעיל את ההידור באמצעות השיטה releaseConfigs של Dataform API.

במהלך ההידור, Dataform שולף קוד מה-commitish שצוין ב-Git של המאגר. לאחר מכן, Dataform מקמפל את הקוד עם שינויי ברירת המחדל של הקימפול (אם יש כאלה) ויוצר את תוצאת הקימפול. תוצאת ההידור האחרונה שנוצרה להגדרת הגרסה היא תוצאת ההידור הפעילה.

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

יצירת הגדרות לגרסה

כדי ליצור הגדרת גרסה ב-Dataform:

  1. במאגר, עוברים אל גרסאות ותזמון.
  2. בקטע הגדרות גרסה, לוחצים על יצירה.
  3. בחלונית Create release configuration, קובעים את הגדרות הגרסה.

    1. בשדה Release ID, מזינים מזהה ייחודי להגדרת הגרסה.

      המזהים יכולים לכלול רק מספרים, אותיות, מקפים וקווים תחתונים.

    2. בשדה Git commitish, מזינים הסתעפות, כמו main, תג או SHA של commit לגרסה.

      במאגר Dataform שלא מחובר למאגר מרוחק, הערך הוא תמיד main.

    3. אופציונלי: בשדה Frequency, בוחרים את התדירות של יצירת תוצאות ההידור.

      אם מגדירים את המדיניות, התדירות המינימלית היא שעה אחת.

      כדי להשבית את ההעברות האוטומטיות, משאירים את השדה תדירות ריק.

  4. אופציונלי: בקטע Compilation overrides, קובעים את הגדרות ההידור.

    1. בשדה Google Cloud Project ID, מזינים את המזהה של הפרויקט ב-Google Cloud שבו רוצים לאחסן את תוצאת הקימפול.
    2. בשדה Schema suffix, מזינים סיומת שרוצים להוסיף לסכימה שהוגדרה בהגדרות של תהליך העבודה.
    3. בשדה Table prefix, מזינים קידומת לכל שמות הטבלאות.
  5. אופציונלי: בקטע Compilation variables, מגדירים את משתני ה-compilation.

    1. לוחצים על הוספת משתנה.
    2. בשדה מפתח, מזינים את משתנה האוסף.
    3. בשדה Value, מזינים את הערך של משתנה ההידור.
    4. כדי להוסיף עוד משתנה קומפילציה, לוחצים על Add variable.
  6. לוחצים על יצירה.

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

לדוגמה, הגדרת הגרסה הבאה יוצרת תוצאת הידור (compilation) של production מההסתעפות main בכל שעה, בלי שינויים בהידור:

  • מזהה פריט תוכן: production
  • Git commitish: main
  • תדירות: מדי שעה
  • אין שינויים מברירת המחדל של האוסף

הצגת פרטים של הגדרת גרסה

אפשר לראות את הפרטים הבאים של הגדרת גרסה:

  • הגדרות הגרסה
    • Git commitish
    • חותמת הזמן של תוצאת ההידור האחרונה
    • לוח זמנים של Cron
    • שינויים בהידור
    • משתני הידור
  • תוצאת ההידור בזמן אמת
    • חותמת הזמן של היצירה
    • Git commitish
    • ‫SHA של השמירה (commit)
  • תוצאות של אוספים קודמים

כדי לראות את הפרטים של הגדרת גרסה:

  1. במאגר, עוברים אל גרסאות ותזמון.
  2. בוחרים הגדרת גרסה.
  3. בדף Release configuration details, בודקים את פרטי הגדרת הגרסה.

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

בטבלה Manual/API compilation results מוצגות תוצאות הידור שנוצרו באופן ידני או באמצעות קריאות ל-Dataform API מתוך 1,000 תוצאות ההידור האחרונות במאגר.

הפעלה ידנית של הידור

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

  1. במאגר, עוברים אל גרסאות ותזמון.
  2. בוחרים הגדרת גרסה.
  3. בדף Release configuration details, לוחצים על New compilation.

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

תוצאות ההידור הידני מוצגות בטבלה Manual/API compilation results בדף Release configuration details.

הפעלת הגדרות מוצר

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

  1. במאגר, עוברים אל גרסאות ותזמון.
  2. בקטע Release configurations, לוחצים על Start execution.
  3. בחלונית Execute manual workflow, בוחרים הגדרת גרסה מהרשימה Release configuration.
  4. בוחרים את הפעולות בתהליך העבודה שרוצים להפעיל:
    1. כדי להפעיל את כל תהליך העבודה, לוחצים על כל הפעולות.
    2. כדי להריץ פעולות שנבחרו בתהליך העבודה, לוחצים על Selection of actions ובוחרים פעולות.
    3. כדי להפעיל פעולות עם תגים נבחרים, לוחצים על Selection of tags ובוחרים תגים.
  5. אופציונלי: כדי להריץ פעולות או תגים נבחרים ואת יחסי התלות שלהם, בוחרים באפשרות Include dependencies.
  6. אופציונלי: כדי להריץ פעולות או תגים נבחרים ואת התלויות שלהם, בוחרים באפשרות Include dependents.
  7. אופציונלי: כדי לבנות מחדש את כל הטבלאות, בוחרים באפשרות Run with full refresh.

    בלי האפשרות הזו, Dataform מעדכן טבלאות מצטברות בלי ליצור אותן מחדש מאפס.

  8. לוחצים על התחלת ההפעלה.

עריכת הגדרות של גרסה

כדי לערוך הגדרה של גרסה, פועלים לפי השלבים הבאים:

  1. במאגר, עוברים אל גרסאות ותזמון.
  2. בתפריט More של הגדרת הגרסה שרוצים לערוך, לוחצים על Edit.
  3. בחלונית Edit release configuration, עורכים את הגדרות הגרסה ולוחצים על Save.

מחיקת הגדרות מוצר

כדי למחוק הגדרת גרסה:

  1. במאגר, עוברים אל גרסאות ותזמון.
  2. ליד הגדרת הגרסה שרוצים למחוק, לוחצים על תפריט האפשרויות הנוספות ואז על מחיקה.
  3. בתיבת הדו-שיח Delete release configuration, לוחצים על Delete.

המאמרים הבאים