במאמר הזה מוסבר איך:
- הגדרת הצהרת SQL להפעלה לפני יצירת הטבלה.
- הגדרת הצהרת SQL להרצה אחרי יצירת הטבלה.
- השבתת יצירת טבלאות.
- הוספת תגי הפעלה
לפני שמתחילים
נכנסים לדף Dataform במסוף Google Cloud .
בוחרים מאגר או יוצרים מאגר.
בוחרים או יוצרים סביבת עבודה לפיתוח.
מגדירים קובץ SQLX מאחד מהסוגים הבאים:
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות לביצוע המשימות שמתוארות במסמך הזה, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Dataform Editor (roles/dataform.editor) בסביבות עבודה.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הגדרת הצהרת SQL להרצה לפני יצירת הטבלה
אתם יכולים להגדיר את Dataform כך שיפעיל הצהרת SQL אחת או יותר לפני יצירת טבלה נבחרת ב-BigQuery. כדי להריץ הצהרת SQL לפני ש-Dataform יוצר טבלה שנבחרה, מוסיפים את ההצהרה לבלוק pre_operations בקובץ ה-SQLX של הגדרת הטבלה.
כדי ליצור הצהרת SQL מותאמת אישית שמופעלת לפני ש-Dataform יוצר טבלה ספציפית, מבצעים את השלבים הבאים:
- עוברים לסביבת הפיתוח.
- בחלונית Files, מרחיבים את
definitions/. - פותחים קובץ הגדרת טבלה מסוג SQLX.
- מחוץ לבלוק
config, מזיניםpre_operations { ... }. - בתוך
pre_operations { ... }, מוסיפים את הצהרת ה-SQL. - אופציונלי: כדי להוסיף כמה הצהרות, מפרידים ביניהן באמצעות
---. - אופציונלי: לוחצים על עיצוב.
בדוגמת הקוד הבאה מוצגת הצהרת pre_operations שיוצרת פונקציה זמנית שאפשר להשתמש בה בהצהרת הבחירה:
pre_operations {
CREATE TEMP FUNCTION AddFourAndDivide(x INT64, y INT64)
RETURNS FLOAT64
AS ((x + 4) / y);
}
הגדרת הצהרת SQL להרצה אחרי יצירת הטבלה
אפשר להגדיר את Dataform כך שיפעיל הצהרת SQL אחת או יותר אחרי יצירת טבלה נבחרת ב-BigQuery. כדי להריץ הצהרת SQL אחרי ש-Dataform יוצר טבלה נבחרת, מוסיפים את ההצהרה לבלוק post_operations בקובץ ה-SQLX של הגדרת הטבלה. אפשר להוסיף כמה הצהרות SQL לבלוק post_operations.
כדי ליצור הצהרת SQL מותאמת אישית שמופעלת אחרי ש-Dataform יוצר טבלה ספציפית, פועלים לפי השלבים הבאים:
- עוברים לסביבת הפיתוח.
- בחלונית Files, מרחיבים את
definitions/. - פותחים קובץ הגדרת טבלה מסוג SQLX.
- מחוץ לבלוק
config, מזיניםpost_operations { ... }. - בתוך
post_operations { ... }, מוסיפים את הצהרת ה-SQL. - אופציונלי: לוחצים על עיצוב.
בדוגמת הקוד הבאה מוצגות הצהרות post_operations שמעניקות לקבוצות גישה לטבלה שנוצרה:
post_operations {
GRANT `roles/bigquery.dataViewer`
ON
TABLE ${self()}
TO "group:allusers@example.com", "user:otheruser@example.com"
}
השבתת יצירת טבלה
כדי למנוע מ-Dataform ליצור טבלה שנבחרה ב-BigQuery, אפשר להשבית את הטבלה בקובץ ההגדרה שלה ב-SQLX. Dataform שומר טבלה מושבתת בתרשים התלות, אבל הוא לא מבצע קומפילציה ויוצר אותה. לדוגמה, אם טבלה נכשלת ואתם לא רוצים שכל תהליך העבודה ייכשל בזמן שאתם מתקנים את הבעיה.
כדי להשבית טבלה:
- עוברים לסביבת הפיתוח.
- בחלונית Files, מרחיבים את
definitions/. - בוחרים קובץ הגדרת טבלה מסוג SQLX.
- בבלוק
configשל הקובץ, מזיניםdisabled: true. - אופציונלי: לוחצים על עיצוב.
בדוגמת הקוד הבאה מוצגת טבלה מושבתת:
config {
type: "table",
disabled: true
}
select * from ${ref("source_data")}
הוספת תגי הפעלה
בקטע הזה מוסבר איך להוסיף תגים לקובצי SQLX של Dataform core כדי לסווג את תהליך העבודה.
כדי לארגן את הרכיבים של תהליך העבודה באוספים, אפשר להוסיף תגים מותאמים אישית לקובצי SQLX מהסוגים הבאים:
tableviewincrementalassertionoperations
במהלך הפעלת תהליך עבודה, אפשר להפעיל רק קבצים עם תג נבחר.
באמצעות Managed Service for Apache Airflow או Workflows יחד עם Cloud Scheduler, אפשר ליצור תזמון להפעלת תהליך עבודה של Dataform עם תג נבחר במרווח זמן ספציפי.
הוסף תג
אפשר להוסיף כמה תגים לקובץ SQLX.
כדי להוסיף תג לקובץ SQLX:
- עוברים לסביבת הפיתוח.
- בחלונית Files, מרחיבים את
definitions/. - בוחרים קובץ SQLX.
בבלוק
config, מוסיפים תג בפורמט הבא:tags: ["CUSTOM_TAG"]מחליפים את
CUSTOM_TAGבתג שלכם.אופציונלי: כדי להוסיף כמה תגים, מפרידים ביניהם בפסיק (
,).אופציונלי: לוחצים על עיצוב.
בדוגמת הקוד הבאה מוצג התג user_counts עם התגים daily ו-hourly:
config {
type: "view",
name: "user_counts",
tags: ["daily", "hourly"]
}
המאמרים הבאים
- כאן מוסבר איך להגדיר את ההגדרות של Dataform ב-
workflow_settings.yaml. - במאמר בדיקת איכות הנתונים מוסבר איך לבדוק נתונים בטבלה באמצעות הצהרות.
- כאן אפשר לקרוא איך להשתמש שוב בקוד באמצעות include.
- כאן מוסבר איך להפעיל הרצות באופן ידני.
- כאן מוסבר איך מוסיפים תגי מדיניות של BigQuery ב-Dataform.