במאמר הזה נסביר איך לבצע את הפעולות הבאות ב-Dataform:
- הסבר על מחזור החיים של תהליך העבודה ב-Dataform
- יצירת שינויים מברירת המחדל של אוסף סביבות עבודה.
- הגדרת שינויים בהידור באמצעות Dataform API
- יצירת הגדרת גרסה
לפני שמתחילים
נכנסים לדף Dataform במסוף Google Cloud .
בוחרים מאגר או יוצרים מאגר.
בוחרים או יוצרים סביבת עבודה לפיתוח.
אופציונלי: כדי לשנות את פרויקט ברירת המחדל Google Cloud בהגדרות של הגרסה, צריך לתת לחשבון השירות המותאם אישית גישה לפרויקט שבו אתם מתכננים להשתמש.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לביצוע המשימות שמתוארות במסמך הזה, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
- אדמין ב-Dataform (
roles/dataform.admin) במאגרים - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בחשבון השירות המותאם אישית
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
כדי לשפר את האבטחה של קביעת פגישות, אפשר לקרוא על הטמעה של הרשאות משופרות לקביעת פגישות.
כדי לעדכן את גרסת ההפצה של הגדרת הפצה במאגר Dataform, צריך להעניק את ההרשאה iam.serviceAccounts.actAs לסוכן השירות של Dataform לכל חשבון שירות מותאם אישית בהגדרות של תהליכי העבודה שמשתמשים בהגדרת ההפצה הזו. ההרשאה הזו זמינה בתפקיד המשתמש של חשבון השירות (roles/iam.serviceAccountUser). מידע נוסף זמין במאמר הקצאת התפקידים הנדרשים ב-IAM.
מבוא למחזור החיים של תהליך העבודה ב-Dataform
בקטע הזה מוסבר על מחזור החיים של תהליך העבודה ב-Dataform ועל דרכים להגדיר קומפילציה והרצה ב-Dataform.
מחזור החיים של תהליך העבודה ב-Dataform מורכב מהשלבים הבאים:
- פיתוח
- מפתחים תהליך עבודה בסביבת עבודה של Dataform.
- אוסף
Dataform מהדר את קוד תהליך העבודה בסביבת העבודה ל-SQL בזמן אמת, ויוצר תוצאת הידור של סביבת העבודה שאפשר להריץ ב-BigQuery. Dataform משתמש בהגדרות שמוגדרות בקובץ ההגדרות של תהליך העבודה כדי ליצור את תוצאת הקומפילציה.
הקומפילציה של Dataform היא הרמטית כדי להבטיח עקביות בקומפילציה. כלומר, אותו קוד עובר קומפילציה לאותו תוצאת קומפילציה של SQL בכל פעם. Dataform מהדר את הקוד בסביבת ארגז חול ללא גישה לאינטרנט. במהלך ההידור לא זמינות פעולות נוספות, כמו קריאה לממשקי API חיצוניים.
- הרצה
בהפעלת תהליך עבודה, Dataform מריץ את תוצאת הקומפילציה של סביבת העבודה ב-BigQuery.
כדי להתאים את מחזור החיים של תהליך העבודה ב-Dataform לצרכים שלכם, אתם יכולים להגדיר את תוצאת ההידור (compilation) כך שתשפיע על המקום שבו Dataform מריץ את תהליך העבודה ועל האופן שבו הוא מריץ אותו. לאחר מכן, תוכלו להפעיל ידנית או לתזמן הפעלות כדי להשפיע על המועד שבו Dataform יפעיל את זרימת העבודה כולה או את הרכיבים שנבחרו בה.
דרכים להגדיר הידור (compilation) ב-Dataform
כברירת מחדל, Dataform משתמש בהגדרות בקובץ ההגדרות של תהליך העבודה כדי ליצור תוצאות הידור. אפשר לשנות את הגדרות ברירת המחדל באמצעות שינויים בהידור כדי ליצור תוצאות הידור בהתאמה אישית. לאחר מכן אפשר להפעיל ידנית ביצוע של תוצאת קומפילציה בהתאמה אישית, או לתזמן ביצועים.
ב-Dataform יש את האפשרויות הבאות להגדרת תוצאות ההידור:
- שינוי הגדרות הקימפול ב-Workspace
- אפשר להגדיר שינויים בהידור שיחולו על כל סביבות העבודה במאגר. אתם יכולים להשתמש בהגדרות ברירת מחדל שונות של קומפילציה בסביבת העבודה כדי ליצור סביבות פיתוח מבודדות.
- הגדרות מוצר
- אפשר ליצור הגדרות של גרסאות כדי להגדיר תבניות ליצירת תוצאות קומפילציה של מאגר Dataform. לאחר מכן תוכלו ליצור הגדרת תהליך עבודה כדי לתזמן הרצות של תוצאות קומפילציה שנוצרו בהגדרת הפצה נבחרת.
- שינויים בהגדרות ההידור (compilation) ב-Dataform API
- אפשר להעביר בקשות ל-Dataform API במסוף כדי ליצור ולהפעיל תוצאת קומפילציה יחידה עם החלפות של קומפילציה.
הגדרת שינויים מברירת המחדל בהידור של סביבת עבודה
באמצעות הגדרות ברירת מחדל למהדורות של סביבות עבודה, אתם יכולים ליצור הגדרות ברירת מחדל למהדורות של כל סביבות העבודה במאגר Dataform. אפשר ליצור הגדרה אחת של שינויים בהידור של סביבת עבודה לכל מאגר.
כשמפעילים ידנית הרצה בסביבת עבודה במאגר עם שינויים בהגדרות של קומפילציה של סביבת עבודה, Dataform מחיל את השינויים האלה על תוצאת הקומפילציה של סביבת העבודה.
אפשר להגדיר את השינויים הבאים מברירת המחדל של קומפילציה של סביבת עבודה:
- פרויקטGoogle Cloud שבו Dataform מריץ את התוכן של סביבת העבודה
- תחילית של טבלה
- סיומת סכימה
אתם יכולים להשתמש בהחלפות של קומפילציה של סביבת עבודה כדי ליצור סביבות פיתוח מבודדות. לשם כך, אתם מבודדים את תוצאות הקומפילציה של סביבת העבודה ב-BigQuery באמצעות החלפות דינמיות של קומפילציה. ההגדרות Dynamic table prefix (קידומת דינמית של טבלה) ו-schema suffix compilation overrides (החלפות של הידור סיומת סכימה) מכילות את המשתנה ${workspaceName}.
כשמפעילים הרצה בסביבת עבודה, Dataform מחליף את המשתנה ${workspaceName} בשם של סביבת העבודה הנוכחית, וכך יוצר ביטולים של קומפילציה שייחודיים לסביבת העבודה.
חשוב לזכור שאי אפשר לתזמן הפעלות של תוצאות קומפילציה שנוצרו באמצעות ביטולים של קומפילציה של סביבת עבודה.
יצירת הגדרות מוצר
באמצעות הגדרות מוצר, אתם יכולים להגדיר תבניות של הגדרות ליצירת תוצאות קומפילציה של מאגרי מידע.
בהגדרת גרסה, אפשר להגדיר החלפות של קומפילציה של הגדרות של תהליך העבודה, משתני קומפילציה ותדירות יצירת תוצאות קומפילציה של המאגר כולו.
בהגדרת גרסה, אפשר להגדיר את ההגדרות הבאות של הידור:
- פרויקט אחד (Google Cloud )
- תחילית של טבלה
- סיומת סכימה
- הערך של משתנה קומפילציה
אפשר ליצור כמה הגדרות של הפצה במאגר Dataform, אחת לכל שלב במחזור החיים של הפיתוח, וכך ליצור תוצאות מבודדות של קומפילציה של המאגר.
לאחר מכן, תוכלו ליצור הגדרות של תהליכי עבודה כדי לתזמן הפעלות של תוצאות קומפילציה שנוצרו בהגדרת הפצה שנבחרה.
אפשר גם להפעיל ידנית את הביצוע של תוצאת קומפילציה בהגדרת פריט תוכן נבחר.
הגדרת תוצאת הידור יחידה באמצעות ביטולי הידור ב-Dataform API
אפשר להעביר בקשות Dataform API במסוף כדי להגדיר החלפות של קומפילציה לתוצאה יחידה של קומפילציה.
בבקשה
compilationResults.create
אפשר ליצור תוצאת הידור (compilation) יחידה של סביבת עבודה ב-Dataform או של קומיט מסוים ב-Git.
באובייקט CodeCompilationConfig של בקשת compilationResults.create, אפשר להגדיר שינויים בהגדרות הקומפילציה של בקשת הקומפילציה.
אפשר להגדיר את ההחלפות הבאות של קומפילציה של Dataform API:
- פרויקט אחד (Google Cloud )
- תחילית של טבלה
- סיומת סכימה
- הערך של משתנה קומפילציה
חשוב לזכור ששינויים בהידור (compilation) באמצעות Dataform API חלים על תוצאת הידור אחת ועל ביצוע אחד. אי אפשר להשתמש בהם כדי לתזמן הפעלות של Dataform.
אפשר להריץ תוצאת קומפילציה בבקשה workflowInvocations.create.
דרכים להגדיר את ההרצה של Dataform
ב-Dataform יש את האפשרויות הבאות להגדרת ההרצה:
- הרצה ידנית בסביבת עבודה
- אתם יכולים להפעיל ידנית את הביצוע המיידי של תהליך עבודה במרחב עבודה של Dataform, מחוץ לכל לוח זמנים. אפשר להריץ פעולות נבחרות בתהליך העבודה.
- הגדרות של תהליכי עבודה
- אפשר לתזמן הפעלות של תוצאות קומפילציה שנוצרו בהגדרת גרסה נבחרת. אתם יכולים לבחור אילו פעולות בתהליך העבודה יופעלו, ולהגדיר את התדירות ואת אזור הזמן של ההפעלות.
הפעלת ביצוע מיידי ב-Workspace
בסביבת עבודה של Dataform, אתם יכולים להפעיל ידנית את הביצוע המיידי של תהליך עבודה בסביבת העבודה, מחוץ לכל לוח זמנים.
אתם יכולים להריץ באופן ידני את הרכיבים הבאים של תהליך העבודה בסביבת העבודה שלכם:
אם המאגר מכיל שינויים בהגדרות של קומפילציה של סביבת עבודה, תוכלו לראות אילו שינויים בהגדרות של קומפילציה של סביבת עבודה יחולו על תוצאת הקומפילציה של סביבת העבודה ב-Dataform.
יצירת הגדרות של תהליכי עבודה
באמצעות הגדרות של תהליכי עבודה, אפשר לתזמן הפעלות של תוצאות קומפילציה מהגדרת הפצה נבחרת. אפשר ליצור כמה הגדרות של תהליכי עבודה במאגר Dataform.
בהגדרת תהליך עבודה, אפשר להגדיר את הגדרות ההפעלה הבאות:
- הוחלה הגדרת הפצה של קומפילציה.
- בחירה של פעולות בתהליך העבודה שיופעלו.
- התזמון ואזור הזמן של ההרצות.
אפשר לבחור את פעולות תהליך העבודה הבאות להרצה:
- כל הפעולות
- הפעולות שנבחרו
- פעולות עם תגים נבחרים
לאחר מכן, במהלך הפעלה מתוזמנת של הגדרת תהליך העבודה, Dataform פורס את הפעולות שבחרתם מתוצאת הקומפילציה שהוחלה אל BigQuery.
הגדרות של מהדורות ושל תהליכי עבודה ב-Dataform מאפשרות להגדיר קומפילציה ולתזמן הפעלות ב-Dataform, בלי להסתמך על שירותים נוספים.
תפוגה של משאבים במחזור החיים
תוצאות הידור (compilation) והפעלות של תהליכי עבודה נשמרות ב-Dataform לפרק זמן מסוים.
תפוגה של הפעלות של תהליכי עבודה
הפעלות של תהליכי עבודה פגות אחרי 90 ימים, או כשמוחקים אותן באופן ידני.
בהגדרת תהליך עבודה, אפשר לראות רשימה של ההפעלות האחרונות של תהליך העבודה שנוצרו על ידי ההגדרה. כשפג התוקף של הפעלה של תהליך עבודה שנוצרה על ידי הגדרת תהליך עבודה, Dataform מסיר את ההפעלה הזו של תהליך העבודה מהרשימה של ההפעלות האחרונות.
תוקף התוצאות של ההידור
תוקף תוצאות הקומפילציה תלוי באופן שבו הן נוצרו: בסביבת פיתוח, בהגדרת הפצה או בהפעלת תהליך עבודה.
כשמפתחים תהליך עבודה בסביבת עבודה של Dataform, Dataform מהדר את הקוד לתוצאת הידור בזמן אמת כדי לספק אימות של השאילתה. התוצאות של אוסף שנוצר בדרך הזו יפוגו אחרי 24 שעות.
בתצורת הפצה, תוצאת הקומפילציה האחרונה הופכת לתוצאת הקומפילציה הפעילה. תוצאת אוסף חדשה מחליפה את תוצאת האוסף הפעילה הנוכחית. תוצאת ההידור הפעילה נשמרת ב-Dataform עד שהיא מוחלפת בתוצאת הידור חדשה. התוקף של תוצאת קומפילציה שהוחלפה הוא עד 24 שעות.
Dataform מסיר תוצאות הידור (compilation) שתוקפן פג מרשימת תוצאות ההידור הקודמות בדף 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של טבלה.
כדי ליצור סביבות פיתוח מבודדות, אפשר לבודד סביבות עבודה באמצעות שינויים ייחודיים בהגדרות הקומפילציה. אפשר לשנות באופן דינמי את קידומת הטבלה ואת החלפות ההידור של סיומת הסכימה באמצעות המשתנה ${workspaceName}.
כשמפעילים ידנית את ההרצה בסביבת עבודה, המשתנה ${workspaceName} מוסיף את שם סביבת העבודה לשינויים בהידור של סביבת העבודה.
כשמגדירים את ${workspaceName} כקידומת של הטבלה, Dataform מוסיף את שם סביבת העבודה לשמות של כל הטבלאות בסביבת העבודה. אחרי ההרצה, ב-BigQuery, אפשר לזהות מאיזה מרחב עבודה הטבלה הגיעה.
כשמגדירים את ${workspaceName} כסיומת של הסכימה, Dataform מוסיף את שם סביבת העבודה ל-defaultSchema, וכך יוצר סכימה מותאמת אישית שמוקדשת לסביבת העבודה. אחרי ההרצה, ב-BigQuery, אפשר לאתר את כל הטבלאות שמופעלות ממרחב עבודה ספציפי בסכימה הייעודית.
דוגמה לשינויים בהידור של סביבת עבודה דינמית
בדוגמה הבאה מוצגות החלפות של קומפילציה דינמית של סביבות עבודה שמוחלות על מאגר שמכיל סביבות עבודה שנקראות על שם מפתחים שעובדים על המאגר: Sasha ו-Kai.
המטרה של שינויים מברירת המחדל בהידור של סביבת העבודה בדוגמה הזו היא ליצור סביבות פיתוח מבודדות בשביל סשה וקאי.
ההגדרות הבאות מוגדרות כברירת מחדל ב-workflow_settings.yaml:
defaultProject:analyticsdefaultDataset:dataform
ההגדרות הבאות של הידור סביבת העבודה יוצרות קידומת דינמית של טבלה וסיומת סכמה לכל סביבת עבודה במאגר:
- מזהה הפרויקט ב-Google Cloud:
analytics_dev - Table prefix:
${workspaceName} - סיומת סכימה:
${workspaceName}
כשסשה מפעילה ידנית את ההרצה ב-Sasha workspace, Dataform מריץ את התוכן שלו עם ההגדרות הבאות:
- Google Cloud פרויקט:
analytics_dev - סכימה:
dataform_sasha - שמות הטבלאות:
sasha_name, לדוגמה:sasha_orders
כשקאי מפעיל ידנית את ההרצה בסביבת העבודה Kai, Dataform מריץ את התוכן שלו עם ההגדרות הבאות:
- Google Cloud פרויקט:
analytics_dev - סכימה:
dataform_kai - שמות הטבלאות:
kai_name, לדוגמה:kai_orders
יצירת שינויים מברירת המחדל בהידור של סביבת עבודה
כדי ליצור שינויים בהידור של סביבת עבודה ב-Dataform:
- במאגר, עוברים אל הגדרות.
- לוחצים על Edit.
- בחלונית Workspace compilation overrides (שינויים בהגדרות של אוסף קבצים של סביבת עבודה), בשדה Google Cloud Project ID (מזהה פרויקט ב-Google Cloud), מזינים את מזהה הפרויקט.
- בשדה Table prefix (קידומת לטבלה), מזינים קידומת לכל שמות הטבלאות.
- אופציונלי: כדי ליצור קידומת דינמית לטבלה שתהיה ייחודית לכל סביבת עבודה, מזינים
${workspaceName}כקידומת לטבלה.
- אופציונלי: כדי ליצור קידומת דינמית לטבלה שתהיה ייחודית לכל סביבת עבודה, מזינים
- בשדה סיומת סכימה, מזינים סיומת להוספה לסכימה של הטבלה או התצוגה שנוצרו.
- אופציונלי: כדי ליצור סיומת סכמה דינמית שייחודית לכל מרחב עבודה, מזינים
${workspaceName}כסיומת הטבלה.
- אופציונלי: כדי ליצור סיומת סכמה דינמית שייחודית לכל מרחב עבודה, מזינים
- לוחצים על Save.
Dataform מחיל את ההגדרות של שינויים בהידור של סביבת העבודה על כל סביבות העבודה במאגר.
עריכת שינויים בהגדרות של קומפילציה של סביבת עבודה
כדי לערוך את ההחלפות של קומפילציית סביבת העבודה ב-Dataform, מבצעים את השלבים הבאים:
- במאגר, עוברים אל הגדרות.
- לוחצים על Edit.
- עורכים את ההגדרות של שינוי ברירת המחדל של קומפילציה של סביבת עבודה ולוחצים על שמירה.
מחיקת שינויים בהגדרות של קומפילציה של סביבת עבודה
כדי למחוק שינויים בהידור של סביבת עבודה ב-Dataform:
- במאגר, עוברים אל הגדרות.
- לוחצים על Edit.
- בחלונית Workspace compilation overrides (שינויים בהגדרות ההידור של סביבת העבודה), לוחצים על Clear all (ניקוי הכול) ואז על Save (שמירה).
הגדרת שינויים בהידור באמצעות Dataform API
בקטע הזה נסביר איך ליצור ולהריץ תוצאת קומפילציה עם שינויים בקומפילציה באמצעות Dataform API.
מידע על שינויים בהידור (compilation) ב-Dataform API
כדי להריץ את תהליך העבודה, Dataform מהדר את הקוד ל-SQL כדי ליצור תוצאת הידור. לאחר מכן, במהלך הפעלת תהליך העבודה, Dataform מריץ את תוצאת ההידור ב-BigQuery.
כברירת מחדל, Dataform משתמש בהגדרות שבקובץ ההגדרות של תהליך העבודה כדי ליצור את תוצאת ההידור. כדי לבודד נתונים שמופעלים בשלבים שונים של מחזור חיי הפיתוח, אפשר לבטל את הגדרות ברירת המחדל באמצעות ביטולי הידור.
אפשר להעביר בקשות ל-Dataform API במסוף כדי ליצור ולהפעיל תוצאת קומפילציה יחידה עם החלפות של קומפילציה. אפשר ליצור תוצאת קומפילציה של סביבת עבודה או של קומיט Git נבחר.
כדי ליצור תוצאת קומפילציה עם שינויים בקומפילציה, צריך לשלוח בקשה ל-Dataform API compilationResults.create. בבקשה, צריך לציין מקור, שיכול להיות סביבת עבודה או קומיט ב-Git, כדי ש-Dataform יקמפל אותו לתוצאת הקומפילציה. באובייקט CodeCompilationConfig של בקשת compilationResults.create, אפשר להגדיר שינויים בהגדרות הקומפילציה.
לאחר מכן תוכלו להפעיל את תוצאת ההידור שנוצרה בבקשת Dataform API workflowInvocations.create.
אפשר להגדיר את ההחלפות הבאות של קומפילציה של Dataform API:
- Google Cloud project
הפרויקט שבו Dataform מריץ את תוצאת ההידור, שמוגדר בקובץ
workflow_settings.yamlכמאפייןdefaultProjectאו בקובץdataform.jsonכמאפייןdefaultDatabase.- קידומת של טבלה
הקידומת המותאמת אישית שנוספה לכל שמות הטבלאות בתוצאת ההידור.
- סיומת סכימה
הסיומת המותאמת אישית שמצורפת לסכימה של טבלאות שמוגדרות במאפיין
defaultDatasetבקובץworkflow_settings.yaml, במאפייןdefaultSchemaבקובץdataform.jsonאו בפרמטרschemaבבלוקconfigשל טבלה.- הערך של משתנה של אוסף
הערך של משתנה קומפילציה שישמש בתוצאת הקומפילציה. אפשר להשתמש במשתני קומפילציה כדי להפעיל טבלאות באופן מותנה.
במקום להשתמש בביטולי הידור (compilation) של Dataform API שאפשר להשתמש בהם רק לתוצאת הידור אחת, אפשר להגדיר ביטולי הידור של סביבת עבודה במסוף Google Cloud .
במאמר מבוא למחזור החיים של תהליך העבודה ב-Dataform מוסבר על דרכים חלופיות להגדרת שינויים בהידור ב-Dataform.
הגדרת מקור לתוצאת האוסף
כדי לשלוח בקשה ל-Dataform API
compilationResults.create
צריך לציין מקור לתוצאת הקומפילציה.
אפשר להגדיר סביבת עבודה של Dataform או ענף Git, תג Git או SHA של שמירת Git כמקור בבקשת compilationResults.create.
הגדרת סביבת עבודה כמקור לתוצאות של קומפילציה
בבקשה
compilationResults.create, ממלאים את הנתיב של סביבת עבודה נבחרת ב-Dataform במאפייןworkspaceבפורמט הבא:{ "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"
}
הגדרת קומיט ב-Git כמקור לתוצאת קומפילציה
בבקשה
compilationResults.createממלאים את הנכסgitCommitishבענף Git שנבחר, בתג או ב-SHA של הקומיט בפורמט הבא:{ "gitCommitish": "GIT_COMMITISH" }מחליפים את
GIT_COMMITISHבענף Git שנבחר, בתג Git או ב-SHA של קומיט Git לתוצאת הקומפילציה.
בדוגמת הקוד הבאה אפשר לראות את המאפיין gitCommitish בבקשת compilationResults.create שמוגדר לערך "staging":
{
"gitCommitish": "staging"
}
שינוי פרויקט ברירת המחדל
כדי ליצור טבלאות בסביבת Staging או בסביבת ייצור ב Google Cloud פרויקט נפרד מהפרויקט שמשמש לפיתוח, אפשר להעביר מזהה פרויקט אחר באובייקט CodeCompilationConfig בבקשה של Dataform API compilationResults.create.
העברת מזהה פרויקט נפרד כברירת מחדל בבקשת compilationResults.create מבטלת את מזהה הפרויקט שמוגדר כברירת מחדל בקובץ הגדרות זרימת העבודה, אבל היא לא מבטלת את מזהי הפרויקטים שמוגדרים בטבלאות נפרדות.
כדי לשנות את מזהה הפרויקט שמוגדר כברירת מחדל, מגדירים את המאפיין
defaultDatabaseלמזהה הפרויקט שנבחר באובייקטCodeCompilationConfigבפורמט הבא:{ "codeCompilationConfig": { "defaultDatabase": "PROJECT_NAME" } }מחליפים את
PROJECT_NAMEבמזהה הפרויקט שרוצים להגדיר לתוצאת הקומפילציה.
הוספת קידומת לטבלה
כדי לזהות במהירות את הטבלאות מתוצאת הקומפילציה, אפשר להוסיף קידומת לכל שמות הטבלאות בתוצאת הקומפילציה. לשם כך, מעבירים את קידומת הטבלה באובייקט CodeCompilationConfig בבקשת compilationResults.create של Dataform API.
כדי להוסיף קידומת לטבלה, מגדירים את המאפיין
tablePrefixבאובייקטCodeCompilationConfigבפורמט הבא:{ "codeCompilationConfig": { "tablePrefix": "PREFIX", } }מחליפים את
PREFIXבקידומת שרוצים להוסיף, לדוגמה,staging.לדוגמה, אם שם הטבלה הוא
table_name, Dataform יוצר טבלאות עם השםstaging_table_name.
הוספת סיומת לסכימה
כדי להפריד בין נתוני פיתוח, נתוני ביניים ונתוני ייצור, אפשר להוסיף סיומת לסכימות בתוצאת קומפילציה. לשם כך, מעבירים את סיומת הסכימה באובייקט CodeCompilationConfig בבקשת compilationResults.create Dataform API.
כדי להוסיף סיומת לסכימה, מגדירים את המאפיין
schemaSuffixבאובייקטCodeCompilationConfigבפורמט הבא:{ "codeCompilationConfig": { "schemaSuffix": "SUFFIX", } }מחליפים את
SUFFIXבסיומת שרוצים להוסיף, למשל,_staging.לדוגמה, אם הנכס
defaultDatasetבקובץworkflow_settings.yamlמוגדר ל-dataform, Dataform יוצר טבלאות בסכימהdataform_staging.
הרצת קבצים נבחרים באופן מותנה באמצעות משתני קומפילציה
כדי להריץ טבלה נבחרת רק בהגדרת ביצוע ספציפית, אפשר ליצור משתנה קומפילציה להגדרת הביצוע ואז להעביר את הערך שלו באובייקט CodeCompilationConfig בבקשת Dataform API compilationResults.create.
כדי להריץ טבלה באופן מותנה בהגדרת ביצוע ספציפית באמצעות Dataform API, מבצעים את השלבים הבאים:
- יצירת משתנה של אוסף והוספתו לטבלאות נבחרות.
מגדירים את צמד המפתח/ערך YOUR_VARIABLE ו-VALUE בבלוק
codeCompilationConfigשל בקשת קומפילציה של Dataform API בפורמט הבא:{ "codeCompilationConfig": { "vars": { "YOUR_VARIABLE": "VALUE" } } }מחליפים את
YOUR_VARIABLEבשם המשתנה, לדוגמהexecutionSetting.מחליפים את
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.
הגדרות מוצר מאפשרות לכם להתאים אישית את תוצאות ההידור. אפשר להשתמש בהם כדי ליצור סביבות הרצה, למשל סביבת פיתוח.
הגדרות של גרסה
בהגדרת גרסה, אפשר להגדיר החלפות של קומפילציה של הגדרות תהליך העבודה, להגדיר משתני קומפילציה ולהגדיר את התדירות של יצירת תוצאות קומפילציה.
הגדרות הקומפילציה הבאות כלולות בהגדרות של גרסת Dataform:
- הגדרות הגרסה
- מזהה הגרסה, מחויבות Git לתוצאות קומפילציה ותדירות יצירת תוצאות קומפילציה. התדירות היא הגדרה אופציונלית. אם מגדירים תדירות, התדירות המינימלית היא שעה אחת.
- ביטול הגדרות של אוספים
- שינויים בGoogle Cloud פרויקט, בקידומת של הטבלה, בסיומת של הסכימה ובמשתני הקומפילציה שהוגדרו בהגדרות של זרימת העבודה.
איך פועלת הגדרת גרסה
Dataform יוצרת תוצאות הידור (compilation) מהגדרת גרסה בתדירות שצוינה, או כשמפעילים הידור. התדירות היא הגדרה אופציונלית ולא חובה להגדיר אותה כדי ליצור הגדרת הפצה. אם מגדירים את הערך הזה, התדירות המינימלית היא שעה אחת. אפשר להפעיל קומפילציה באופן ידני בדף פרטי הגדרת הגרסה, או להפעיל קומפילציה באמצעות השיטה releaseConfigs של Dataform API.
במהלך הקומפילציה, Dataform שולף קוד מה-commitish של Git שצוין במאגר. לאחר מכן, Dataform מהדר את הקוד עם החלפת ההגדרות שחלות על ההידור (אם יש כאלה), ויוצר את תוצאת ההידור. תוצאת ההידור האחרונה שנוצרה עבור הגדרת הגרסה היא תוצאת ההידור הפעילה.
אפשר לתזמן הפעלות של תוצאות קומפילציה מהגדרות של גרסאות בהגדרות של תהליכי עבודה. אפשר גם להפעיל הגדרה של פריט תוכן מסוים מחוץ לכל תזמון. במהלך ביצוע של הגדרת תהליך עבודה, Dataform מפעיל את תוצאת ההידור (compilation) בזמן אמת מהגדרת הגרסה שנבחרה.
יצירת הגדרות של גרסה
כדי ליצור הגדרת גרסה ב-Dataform, פועלים לפי השלבים הבאים:
- במאגר, עוברים אל Releases & Scheduling (פרסומים ותזמון).
- בקטע הגדרות השקה, לוחצים על יצירה.
בחלונית Create release configuration (יצירת הגדרות מוצר), מגדירים את הגדרות המוצר.
בשדה Release ID (מזהה פריט תוכן), מזינים מזהה ייחודי להגדרת ההפצה.
המזהים יכולים לכלול רק מספרים, אותיות, מקפים וקווים תחתונים.
בשדה Git commitish (גיט קומיטיש), מזינים את הסתעפות ה-Git או את ה-SHA של ה-Git commit לגרסה.
במאגר Dataform שלא מקושר למאגר מרוחק, הערך הוא תמיד
main.אופציונלי: בשדה תדירות, בוחרים את התדירות של יצירת תוצאות האוסף.
אם מגדירים תדירות, התדירות המינימלית היא שעה אחת.
כדי להשבית את הפרסום האוטומטי, משאירים את השדה תדירות ריק.
אופציונלי: בקטע Compilation overrides (שינויים בהגדרות הקומפילציה), מגדירים את הגדרות הקומפילציה.
- בשדה מזהה הפרויקט ב-Google Cloud, מזינים את המזהה שלGoogle Cloud הפרויקט שבו רוצים לאחסן את תוצאת ההידור.
- בשדה Schema suffix (סיומת סכימה), מזינים סיומת להוספה לסכימה שהוגדרה בהגדרות תהליך העבודה.
- בשדה Table prefix (קידומת לטבלה), מזינים קידומת לכל שמות הטבלאות.
אופציונלי: בקטע Compilation variables (משתני קומפילציה), מגדירים את משתני הקומפילציה.
- לוחצים על הוספת משתנה.
- בשדה מפתח, מזינים את משתנה ההידור.
- בשדה ערך, מזינים את הערך של משתנה ההידור.
- כדי להוסיף עוד משתנה קומפילציה, לוחצים על הוספת משתנה.
לוחצים על יצירה.
אם משנים את פרויקט ברירת המחדל, צריך לוודא שלחשבון השירות המותאם אישית יש גישה לפרויקט שהוגדר בהגדרות הגרסה.
לדוגמה, הגדרת הגרסה הבאה יוצרת תוצאת קומפילציה production מהענף main בכל שעה, ללא שינויים בקומפילציה:
- מזהה פריט תוכן:
production - Git commitish:
main - תדירות: מדי שעה
- אין שינויים מברירת המחדל בהידור
הצגת פרטים של הגדרת פריט תוכן
אפשר לראות את הפרטים הבאים של הגדרת הפצה:
- הגדרות הגרסה
- Git commitish
- חותמת הזמן של תוצאת ההידור האחרונה
- תזמון Cron
- ביטול הגדרות של אוספים
- משתני קומפילציה
- תוצאת הידור בזמן אמת
- חותמת הזמן של היצירה
- Git commitish
- SHA של השמירה
- תוצאות קודמות של הידור
כדי לראות את הפרטים של הגדרת הפצה:
- במאגר, עוברים אל Releases & Scheduling (פרסומים ותזמון).
- בוחרים הגדרת הפצה.
- בדף Release configuration details, בודקים את הפרטים של הגדרת הפריט.
בטבלה Scheduled compilation results מוצגות תוצאות קודמות של קומפילציה שנוצרו אוטומטית על ידי הגדרת הגרסה.
בטבלה תוצאות הידור (compilation) ידני או דרך API מוצגות תוצאות הידור שנוצרו באופן ידני או דרך קריאות ל-Dataform API מתוך 1,000 תוצאות ההידור האחרונות במאגר.
הפעלת קומפילציה באופן ידני
כדי ליצור ידנית תוצאת קומפילציה מהגדרת הפצה שנבחרה:
- במאגר, עוברים אל Releases & Scheduling (פרסומים ותזמון).
- בוחרים הגדרת הפצה.
- בדף Release configuration details, לוחצים על New compilation.
אם אתם משתמשים בממשק המשתמש, תוצאה חדשה שעברה קומפילציה תעבור אוטומטית למצב פעיל בהגדרת הפריסה שלכם. אם אתם משתמשים ב-API, אתם צריכים ליצור תוצאת קומפילציה חדשה מהגדרות הגרסה, ואז לעדכן את הגדרות הגרסה כדי להגדיר את השדה releaseCompilationResult עם הערך החדש הזה.
תוצאות ההידור הידני מוצגות בטבלה Manual/API compilation results בדף Release configuration details.
הפעלת טריגר של הגדרת מוצר
כדי להפעיל את התוצאה של הקומפילציה בזמן אמת בהגדרת גרסה נבחרת ב-BigQuery, פועלים לפי השלבים הבאים:
- במאגר, עוברים אל Releases & Scheduling (פרסומים ותזמון).
- בקטע הגדרות הפצה, לוחצים על התחלת ההפעלה.
- בחלונית Execute manual workflow (הפעלת תהליך עבודה ידני), ברשימה Release configuration (הגדרת הפצה), בוחרים הגדרת הפצה.
- בוחרים את פעולות תהליך העבודה שרוצים להפעיל:
- כדי להפעיל את כל תהליך העבודה, לוחצים על כל הפעולות.
- כדי להפעיל פעולות נבחרות בתהליך העבודה, לוחצים על בחירת פעולות ואז בוחרים פעולות.
- כדי להפעיל פעולות עם תגים נבחרים, לוחצים על בחירת תגים ואז בוחרים תגים.
- אופציונלי: כדי להפעיל פעולות או תגים נבחרים ואת התלויות שלהם, בוחרים באפשרות Include dependencies (כולל תלויות).
- אופציונלי: כדי להפעיל פעולות או תגים נבחרים ואת התגים שתלויים בהם, בוחרים באפשרות Include dependents (כולל תגים שתלויים בתגים שנבחרו).
אופציונלי: כדי לבנות מחדש את כל הטבלאות מאפס, בוחרים באפשרות הפעלה עם רענון מלא.
בלי האפשרות הזו, Dataform מעדכן טבלאות מצטברות בלי לבנות אותן מחדש מאפס.
לוחצים על התחלת ההרצה.
עריכת הגדרות של גרסה
כדי לערוך הגדרת הפצה, פועלים לפי השלבים הבאים:
- במאגר, עוברים אל Releases & Scheduling (פרסומים ותזמון).
- לצד הגדרת הפריסה שרוצים לערוך, לוחצים על התפריט עוד ואז על עריכה.
- בחלונית עריכת הגדרות הפצה, עורכים את הגדרות ההפצה ולוחצים על שמירה.
מחיקת הגדרות מוצר
כדי למחוק הגדרת הפצה:
- במאגר, עוברים אל Releases & Scheduling (פרסומים ותזמון).
- לצד הגדרת ההפצה שרוצים למחוק, לוחצים על תפריט אפשרויות נוספות ואז על מחיקה.
- בתיבת הדו-שיח מחיקת הגדרת הפצה, לוחצים על מחיקה.
המאמרים הבאים
- כאן אפשר לקרוא איך מבצעים אוטומציה של קומפילציות והרצות.
- כדי לקרוא על שיטות מומלצות לניהול מחזור החיים של תהליך העבודה ב-Dataform, אפשר לעיין במאמר שיטות מומלצות לניהול מחזור החיים של תהליך העבודה.
- כדי ללמוד איך להפעיל ידנית הרצה בסביבת עבודה, אפשר לעיין במאמר בנושא הפעלת הרצה.
- איך יוצרים הגדרות של תהליכי עבודה
- מידע נוסף על Dataform API זמין במאמר בנושא Dataform API.