תזמון של צינורות עיבוד נתונים
במסמך הזה מוסבר איך לתזמן צינורות של BigQuery, כולל איך לתזמן צינורות ולבדוק הרצות מתוזמנות של צינורות.
הצינורות מופעלים על ידי Dataform. כל תזמון של צינור עיבוד נתונים מופעל באמצעות פרטי הכניסה של המשתמש בחשבון Google או באמצעות חשבון שירות מותאם אישית שבוחרים כשמגדירים את התזמון.
השינויים שאתם מבצעים בצינור עיבוד נתונים נשמרים אוטומטית, אבל הם זמינים רק לכם ולמשתמשים שקיבלו את תפקיד האדמין ב-Dataform בפרויקט. כדי לעדכן את לוח הזמנים עם גרסה חדשה של צינור הנתונים, צריך לפרוס את צינור הנתונים. הפריסה מעדכנת את התזמון כך שישתמש בגרסה הנוכחית של צינור הנתונים. ההפעלות המתוזמנות תמיד מריצות את הגרסה העדכנית ביותר שנפרסה.
בלוחות זמנים של צינורות עיבוד נתונים שמכילים מחברות, נעשה שימוש במפרט ברירת מחדל של זמן ריצה. במהלך הפעלה מתוזמנת של צינור שמכיל מחברות, BigQuery כותב את הפלט של המחברת אל הקטגוריה של Cloud Storage שנבחרה במהלך יצירת התזמון.
לפני שמתחילים
לפני שמתחילים, צריך ליצור צינור.
הפעלת תזמון של צינור עיבוד הנתונים
כדי לתזמן צינורות עיבוד נתונים, צריך להקצות את התפקיד הבא לחשבונות השירות המותאמים אישית שבהם מתכננים להשתמש לתזמון צינורות עיבוד נתונים:
- משתמש בחשבון שירות (
roles/iam.serviceAccountUser) - פועלים לפי ההוראות במאמר הקצאת תפקיד יחיד בחשבון שירות כדי להוסיף את חשבון השירות כחשבון משתמש לעצמו. במילים אחרות, מוסיפים את חשבון השירות כחשבון משתמש לאותו חשבון שירות. לאחר מכן, מעניקים לחשבון המשתמש הזה את התפקיד 'משתמש בחשבון שירות'.
אם צינור עיבוד הנתונים מכיל שאילתות SQL, צריך להקצות את התפקידים הבאים לחשבונות השירות המותאמים אישית או לחשבונות Google שבהם אתם מתכננים להשתמש לתזמון של צינור עיבוד הנתונים:
- BigQuery Job User (
roles/bigquery.jobUser) - פועלים לפי ההוראות במאמר הענקת תפקיד יחיד בפרויקט כדי להעניק את התפקיד BigQuery Job User לחשבונות השירות המותאמים אישית או לחשבונות Google בפרויקטים שמהם צינורות עיבוד הנתונים קוראים נתונים.
- BigQuery Data Viewer (
roles/bigquery.dataViewer) - פועלים לפי השלבים במאמר הענקת תפקיד יחיד בפרויקט כדי להעניק את התפקיד BigQuery Data Viewer לחשבונות השירות המותאמים אישית או לחשבונות Google בפרויקטים שמהם צינורות עיבוד הנתונים קוראים נתונים.
- עריכה של נתוני BigQuery (
roles/bigquery.dataEditor) - פועלים לפי ההוראות במאמר בנושא הענקת תפקיד יחיד בפרויקט כדי להעניק את התפקיד BigQuery Data Editor לחשבונות השירות המותאמים אישית או לחשבונות Google בפרויקטים שצינורות הנתונים כותבים אליהם נתונים.
אם צינור עיבוד הנתונים מכיל מחברות, צריך להעניק את התפקידים הבאים לחשבונות השירות המותאמים אישית או לחשבונות Google שבהם מתכננים להשתמש לתזמון של צינור עיבוד הנתונים:
- משתמש בהרצת Notebook (
roles/aiplatform.notebookExecutorUser) - פועלים לפי ההוראות במאמר הענקת תפקיד יחיד בפרויקט כדי להעניק את התפקיד Notebook Executor User לחשבונות השירות המותאמים אישית או לחשבונות Google בפרויקט שנבחר.
- אדמין באחסון (
roles/storage.admin) - פועלים לפי ההוראות שבמאמר הוספת ישות מורשית למדיניות ברמת קטגוריה כדי להוסיף את חשבונות השירות המותאמים אישית או את חשבונות Google כישויות מורשות לקטגוריה של Cloud Storage שבה אתם מתכננים לאחסן את הפלט של מחברות שמופעלות בהרצות מתוזמנות של פייפליינים, ואז מעניקים לישויות המורשות האלה את התפקיד Storage Admin.
בנוסף, צריך להעניק את התפקידים הבאים לסוכן השירות שמוגדר כברירת מחדל ב-Dataform:
- יצירת אסימונים בחשבון שירות (
roles/iam.serviceAccountTokenCreator) - פועלים לפי ההוראות במאמר איך נותנים הרשאת יצירת אסימונים לחשבון שירות כדי להוסיף את סוכן השירות של Dataform כחשבון משתמש לחשבון השירות, ולתת לחשבון המשתמש הזה את התפקיד 'יצירת אסימונים בחשבון שירות'.
- משתמש בחשבון שירות (
roles/iam.serviceAccountUser) - פועלים לפי ההוראות במאמר בנושא הענקת או ביטול של כמה תפקידי IAM באמצעות Google Cloud מסוף כדי להעניק את התפקיד Service Account User לסוכן השירות של Dataform שמוגדר כברירת מחדל בחשבון השירות בהתאמה אישית.
כדי להפעיל העשרה של מטא-נתונים ב-Knowledge Catalog, צריך להפעיל את Dataplex API.
בנוסף, צריך להעניק את התפקיד הבא בפרויקט או בקבוצת הרשומות @bigquery לחשבונות שירות בהתאמה אישית או לחשבונות Google שמתכננים להשתמש בהם לתזמון צינורות:
- התפקיד Dataplex Catalog Editor (
roles/dataplex.catalogEditor) - פועלים לפי ההוראות במאמר הענקת תפקיד יחיד בפרויקט כדי להעניק את התפקיד Dataplex Catalog Editor לחשבונות שירות מותאמים אישית או לחשבונות Google בפרויקט או בקבוצת הרשומות
@bigquery.
מידע נוסף על חשבונות שירות ב-Dataform זמין במאמר מידע על חשבונות שירות ב-Dataform.
דרישות של VPC Service Controls
אם אתם משתמשים ב-VPC Service Controls כדי להגן על צינורות העיבוד, חשוב לדעת שהרצות מתוזמנות מופעלות על ידי Dataform. כשמגדירים את VPC Service Controls להפעלות מתוזמנות, צריך לוודא שמתקיימות הדרישות הבאות:
- צריך להגדיר את
dataform.restrictGitRemotesשירות מדיניות הארגון. - ההגבלות על Dataform ו-BigQuery צריכות להיות מוגדרות על ידי אותו גבול גזרה לשירות של VPC Service Controls.
- כדי לאפשר למשתמשים לבצע אימות באמצעות פרטי הכניסה של חשבון Google שלהם כשהם מתזמנים או מפעילים ידנית ריצות, צריך להוסיף את זהויות המשתמשים שלהם לכללי הכניסה. מידע נוסף זמין במאמרים בנושא עדכון מדיניות של תעבורת נתונים נכנסת ויוצאת בגבולות גזרה לשירות והפניה לכללים של תעבורת נתונים נכנסת.
שלבי הגדרה מפורטים ושיקולי אבטחה זמינים במאמר הגדרת VPC Service Controls ל-Dataform.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לניהול צינורות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
-
הצגה וניהול של לוחות זמנים:
- Dataform Admin (
roles/dataform.admin) on the pipeline - Dataform Editor (
roles/dataform.editor) בפרויקט
- Dataform Admin (
-
הצגה והרצה של צינורות:
- Dataform Viewer (
roles/dataform.viewer) on the project - BigQuery Job User (
roles/bigquery.jobUser) בפרויקט
- Dataform Viewer (
-
הפעלת תזמון של צינור עם פרטי כניסה של משתמש לחשבון Google:
BigQuery Job User (
roles/bigquery.jobUser) בפרויקט -
הפעלת תזמון של צינור עיבוד נתונים עם חשבון שירות בהתאמה אישית:
משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בחשבון השירות בהתאמה אישית -
ניהול לוחות זמנים של צינורות בתיקיות משתמשים:
- בעלים של הקוד (
roles/dataform.codeOwner) בתיקייה - Code Editor (
roles/dataform.codeEditor) בתיקייה
- בעלים של הקוד (
-
ניהול לוחות זמנים של צינורות בתיקיות צוות:
- בעלים של תיקיית צוות (
roles/dataform.teamFolderOwner) בתיקיית הצוות - משתמש עם הרשאת עריכה בתיקיית צוות (
roles/dataform.teamFolderContributor) בתיקיית הצוות
- בעלים של תיקיית צוות (
-
ניהול צינורות במאגרי Git:
Developer Connect OAuth User (
roles/developerconnect.oauthUser) on the project -
הפעלת העשרה של מטא-נתונים:
Dataplex Catalog Editor (
roles/dataplex.catalogEditor) בפרויקט או בקבוצת הרשומות@bigquery
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
כדי לשפר את האבטחה של קביעת פגישות, אפשר לקרוא על הטמעה של הרשאות משופרות לקביעת פגישות.
מידע נוסף על IAM ב-Dataform זמין במאמר בקרת גישה באמצעות IAM.
מידע נוסף על תפקידים בתיקיות זמין במאמר יצירה וניהול של תיקיות.
במאמר ניהול קוד באמצעות מאגרי Git ב-BigQuery Studio יש מידע נוסף על תפקידים במאגרי Git.
כדי להשתמש בתבניות של זמן ריצה של נוטבוק של Colab כשמתזמנים פייפליינים, צריך את תפקיד המשתמש של זמן הריצה של Notebook (roles/aiplatform.notebookRuntimeUser).
יצירת לוח זמנים לפייפליין
אפשר גם להשתמש בדף Pipelines & Connections כדי לתזמן צינור עיבוד נתונים של Dataform באמצעות תהליך עבודה יעיל שספציפי ל-BigQuery. התכונה הזו נמצאת בגרסת טרום-השקה.
כדי ליצור לוח זמנים לצינור:
החלונית קבצים
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על קבצים כדי לפתוח את דפדפן הקבצים.
אם לא רואים את החלונית הימנית, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Files, מרחיבים את התיקייה User או את Team folder ובוחרים צינור.
בסרגל הכלים של Pipeline Viewer (כלי לצפייה בצינורות), לוחצים על Schedule (תזמון) או על Trigger (טריגר).
בחלונית Schedule pipeline, בשדה Schedule name, מזינים שם לתזמון.
בקטע אימות, נותנים לפייפליין הרשאות גישה באמצעות פרטי הכניסה של משתמש בחשבון Google או חשבון שירות.
כדי להשתמש בפרטי הכניסה של המשתמש בחשבון Google (תצוגה מקדימה), בוחרים באפשרות הרצה עם פרטי הכניסה של המשתמש.
אופציונלי: בקטע Extended access options (אפשרויות גישה מורחבות), בוחרים את השירותים הנוספים שנדרשים לצינור.
- Knowledge Catalog: מאפשר Google Cloud עדכוני מטא-נתונים של Knowledge Catalog.
- Google Drive: מאפשר גישה לקבצים ב-Google Drive לקריאה בלבד.
- Bigtable: מאפשר גישה לקריאה בלבד לנתונים ב-Google Bigtable.
כדי להשתמש בחשבון שירות, בוחרים באפשרות Execute with selected service account ואז בוחרים חשבון שירות.
אם צינור הנתונים מכיל מחברת, בקטע Notebook options, בשדה Runtime template, בוחרים תבנית של זמן ריצה של מחברת Colaboratory או את מפרטי זמן הריצה שמוגדרים כברירת מחדל. פרטים על יצירת תבנית של זמן ריצה בנוטבוק של Colab זמינים במאמר יצירת תבנית של זמן ריצה.
אם צינור הנתונים מכיל מחברת, בקטע Notebook options, בשדה קטגוריה של Cloud Storage, לוחצים על Browse ובוחרים או יוצרים קטגוריה של Cloud Storage לאחסון הפלט של המחברות בצינור הנתונים.
לחשבון השירות שבחרתם צריך להיות מוקצה תפקיד אדמין של Storage ב-IAM בדלי שבחרתם. מידע נוסף זמין במאמר הפעלת תזמון של צינורות.
בקטע סוג ההגדרה, בוחרים באפשרות תזמון (חזרה על פעולה לפי זמן).
בקטע תדירות התזמון, מבצעים את הפעולות הבאות:
- בתפריט Repeats, בוחרים את התדירות של הפעלות צינורות מתוזמנות.
- בשדה At time, מזינים את השעה להפעלות מתוזמנות של צינורות.
- בתפריט אזור זמן, בוחרים את אזור הזמן של התזמון.
מגדירים את העדיפות של עבודת השאילתה ב-BigQuery באמצעות האפשרות Execute as interactive job with high priority (default) (הפעלה כעבודה אינטראקטיבית עם עדיפות גבוהה (ברירת מחדל)). כברירת מחדל, BigQuery מריץ שאילתות כמשימות של שאילתות אינטראקטיביות, שמיועדות להתחיל לפעול כמה שיותר מהר. אם לא מסמנים את האפשרות הזו, השאילתות מופעלות כעבודות של שאילתות באצווה, שהעדיפות שלהן נמוכה יותר.
לוחצים על יצירת לוח זמנים. אם בחרתם באפשרות Execute with my user credentials (ביצוע באמצעות פרטי הכניסה של המשתמש) כשיטת האימות, אתם צריכים לתת הרשאה לחשבון Google (תצוגה מקדימה).
כשיוצרים את לוח הזמנים, הגרסה הנוכחית של צינור הנתונים נפרסת באופן אוטומטי. כדי לעדכן את לוח הזמנים עם גרסה חדשה של צינור העברת הנתונים, פורסים את צינור העברת הנתונים.
הגרסה האחרונה של הפייפליין שנפרסה תפעל בזמן ובתדירות שנבחרו.
חלונית Explorer
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על כלי הניתוחים:

אם לא רואים את החלונית הימנית, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Pipelines ובוחרים צינור.
לוחצים על תזמון.
בחלונית Schedule pipeline, בשדה Schedule name, מזינים שם לתזמון.
בקטע אימות, נותנים לפייפליין הרשאות גישה באמצעות פרטי הכניסה של משתמש בחשבון Google או חשבון שירות.
כדי להשתמש בפרטי הכניסה של המשתמש בחשבון Google, בוחרים באפשרות Execute with my user credentials (הפעלה עם פרטי הכניסה של המשתמש שלי).
אופציונלי: בקטע Extended access options (אפשרויות גישה מורחבות), בוחרים את השירותים הנוספים שנדרשים לצינור.
- Knowledge Catalog: מאפשר Google Cloud עדכוני מטא-נתונים של Knowledge Catalog.
- Google Drive: מאפשר גישה לקבצים ב-Google Drive לקריאה בלבד.
- Bigtable: מאפשר גישה לקריאה בלבד לנתונים ב-Google Bigtable.
כדי להשתמש בחשבון שירות, בוחרים באפשרות Execute with selected service account ואז בוחרים חשבון שירות.
אם צינור הנתונים מכיל מחברת, בקטע Notebook options, בשדה Runtime template, בוחרים תבנית של זמן ריצה של מחברת Colaboratory או את מפרטי זמן הריצה שמוגדרים כברירת מחדל. פרטים על יצירת תבנית של זמן ריצה בנוטבוק של Colab זמינים במאמר יצירת תבנית של זמן ריצה.
אם צינור הנתונים מכיל מחברת, בקטע Notebook options, בשדה קטגוריה של Cloud Storage, לוחצים על Browse ובוחרים או יוצרים קטגוריה של Cloud Storage לאחסון הפלט של המחברות בצינור הנתונים.
לחשבון השירות שבחרתם צריך להיות מוקצה תפקיד אדמין של Storage ב-IAM בדלי שבחרתם. מידע נוסף זמין במאמר הפעלת תזמון של צינורות.
בקטע סוג ההגדרה, בוחרים באפשרות תזמון (חזרה על פעולה לפי זמן).
בקטע תדירות התזמון, מבצעים את הפעולות הבאות:
- בתפריט Repeats, בוחרים את התדירות של הפעלות צינורות מתוזמנות.
- בשדה At time, מזינים את השעה להפעלות מתוזמנות של צינורות.
- בתפריט אזור זמן, בוחרים את אזור הזמן של התזמון.
מגדירים את העדיפות של עבודת השאילתה ב-BigQuery באמצעות האפשרות Execute as interactive job with high priority (default) (הפעלה כעבודה אינטראקטיבית עם עדיפות גבוהה (ברירת מחדל)). כברירת מחדל, BigQuery מריץ שאילתות כמשימות של שאילתות אינטראקטיביות, שמיועדות להתחיל לפעול כמה שיותר מהר. אם לא מסמנים את האפשרות הזו, השאילתות מופעלות כעבודות של שאילתות באצווה, שהעדיפות שלהן נמוכה יותר.
לוחצים על יצירת לוח זמנים. אם בחרתם באפשרות Execute with my user credentials (הפעלה עם פרטי הכניסה של המשתמש שלי) כשיטת האימות, אתם צריכים לתת הרשאה לחשבון Google.
כשיוצרים את לוח הזמנים, הגרסה הנוכחית של צינור הנתונים נפרסת באופן אוטומטי. כדי לעדכן את לוח הזמנים עם גרסה חדשה של צינור העברת הנתונים, פורסים את צינור העברת הנתונים.
הגרסה האחרונה של הפייפליין שנפרסה תפעל בזמן ובתדירות שנבחרו.
הדף קביעת הפגישה
נכנסים לדף Scheduling במסוף Google Cloud .
לוחצים על יצירה ובוחרים באפשרות תזמון צינור בתפריט.
בחלונית Schedule pipeline, בוחרים צינור להוספה לתזמון.
בשדה שם לוח הזמנים, מזינים שם ללוח הזמנים.
בקטע אימות, נותנים לפייפליין הרשאות גישה באמצעות פרטי הכניסה של משתמש בחשבון Google או חשבון שירות.
כדי להשתמש בפרטי הכניסה של המשתמש בחשבון Google, בוחרים באפשרות Execute with my user credentials (הפעלה עם פרטי הכניסה של המשתמש שלי).
אופציונלי: בקטע Extended access options (אפשרויות גישה מורחבות), בוחרים את השירותים הנוספים שנדרשים לצינור.
- Knowledge Catalog: מאפשר Google Cloud עדכוני מטא-נתונים של Knowledge Catalog.
- Google Drive: מאפשר גישה לקבצים ב-Google Drive לקריאה בלבד.
- Bigtable: מאפשר גישה לקריאה בלבד לנתונים ב-Google Bigtable.
כדי להשתמש בחשבון שירות, בוחרים באפשרות Execute with selected service account ואז בוחרים חשבון שירות.
אם צינור העיבוד מכיל מחברת, בקטע Notebook options, בשדה Runtime template, בוחרים תבנית זמן ריצה של נוטבוק של Colab או את מפרטי זמן הריצה שמוגדרים כברירת מחדל. פרטים על יצירת תבנית של זמן ריצה בנוטבוק של Colab זמינים במאמר יצירת תבנית של זמן ריצה.
אם צינור העיבוד מכיל מחברת, בשדה Cloud Storage bucket לוחצים על Browse ובוחרים או יוצרים קטגוריה של Cloud Storage לאחסון הפלט של המחברות בצינור העיבוד.
לחשבון השירות שבחרתם צריך להיות מוקצה תפקיד אדמין של Storage ב-IAM בדלי שבחרתם. מידע נוסף זמין במאמר הפעלת תזמון של צינורות.
בקטע סוג ההגדרה, בוחרים באפשרות תזמון (חזרה על פעולה לפי זמן).
בקטע תדירות התזמון, מבצעים את הפעולות הבאות:
- בתפריט Repeats, בוחרים את התדירות של הפעלות צינורות מתוזמנות.
- בשדה At time, מזינים את השעה להפעלות מתוזמנות של צינורות.
- בתפריט אזור זמן, בוחרים את אזור הזמן של התזמון.
מגדירים את העדיפות של עבודת השאילתה ב-BigQuery באמצעות האפשרות Execute as interactive job with high priority (default) (הפעלה כעבודה אינטראקטיבית עם עדיפות גבוהה (ברירת מחדל)). כברירת מחדל, BigQuery מריץ שאילתות כמשימות של שאילתות אינטראקטיביות, שמיועדות להתחיל לפעול כמה שיותר מהר. אם לא מסמנים את האפשרות הזו, השאילתות מופעלות כעבודות של שאילתות באצווה, שהעדיפות שלהן נמוכה יותר.
לוחצים על יצירת לוח זמנים. אם בחרתם באפשרות Execute with my user credentials (הפעלה עם פרטי הכניסה של המשתמש שלי) כשיטת האימות, אתם צריכים לתת הרשאה לחשבון Google.
אישור חשבון Google
כדי לאמת את המשאב באמצעות פרטי הכניסה של המשתמש בחשבון Google, צריך להעניק באופן ידני הרשאה לצינורות של BigQuery לקבל את אסימון הגישה לחשבון Google ולגשת לנתוני המקור בשמכם. אתם יכולים לתת אישור ידני באמצעות ממשק תיבת הדו-שיח של OAuth. אם בוחרים באחת מאפשרויות הגישה המורחבת, צריך להעניק גישה לשירותים האלה – למשל, Google Drive או Knowledge Catalog.
צריך לתת הרשאה לצינורות של BigQuery רק פעם אחת.
כדי לבטל את ההרשאה שהענקתם, פועלים לפי השלבים הבאים:
- עוברים אל הדף של החשבון ב-Google.
- לוחצים על BigQuery Pipelines.
- לוחצים על הסרת הגישה.
שינוי הבעלים של לוח הזמנים של צינור הנתונים על ידי עדכון פרטי הכניסה דורש גם אישור ידני אם הבעלים החדש של חשבון Google מעולם לא יצר לוח זמנים.
אם צינור הנתונים מכיל מחברת, צריך גם לתת הרשאה באופן ידני ל-Colab Enterprise כדי לקבל את אסימון הגישה לחשבון Google ולגשת לנתוני המקור בשמכם. צריך לתת את ההרשאה רק פעם אחת. אפשר לבטל את ההרשאה הזו בדף של חשבון Google.
תזמון מבוסס-טריגר
אפשר להגדיר צינורות נתונים של BigQuery כך שיפעילו אוטומטית ביצועים על סמך עדכונים בטבלאות ספציפיות ב-BigQuery. אתם יכולים ליצור תזמונים מבוססי-טריגר כדי לבצע אוטומציה של הרצת צינורות בתגובה לשינויים בנתוני BigQuery, במקום לפי תזמון קבוע.
כשהצינור מזהה שינויים בטבלה או בטבלאות שצוינו, הוא מפעיל ביצוע חדש של תהליך העבודה המשויך. אפשר להגדיר תנאים שמבוססים על עדכונים בטבלה אחת, בכל הטבלאות בקבוצה או בכל אחת מהטבלאות בקבוצה.
אפשר גם לשנות את ההגדרות האופציונליות של התזמונים מבוססי-הטריגר כדי לשלוט במרווח המינימלי בין טריגרים של צינורות. לדוגמה, אפשר לשנות את הערך של משך הביצוע המינימלי כדי לוודא שהפעלת לוחות זמנים מבוססי-טריגר לא תהיה תכופה יותר מהמתוכנן. אפשר גם לשנות את הערך של Max Wait Duration כדי לוודא שהתזמון שמבוסס על טריגר יופעל פעם אחת במהלך משך הזמן הזה, גם אם לא זוהו עדכונים בטבלה.
מגבלות
לוחות זמנים שמבוססים על טריגרים כפופים למגבלות הבאות:
- פרומפטים מתוזמנים מבוססי-טריגר לא מופעלים באופן מיידי. כשמגדירים לוח זמנים שמבוסס על טריגר, הפייפליין בודק את הסטטוס של טבלה ב-BigQuery בערך כל 3 דקות. הפרק הזמן הזה נקרא מרווח הדגימה, ויכול להיות שיהיה עיכוב בין שינוי בטבלה לבין הפעלת הטריגר.
- כל טבלה שנמצאת במעקב מובילה לקריאות ל-API אל BigQuery במהלך כל מרווח דגימה. מעקב אחרי מספר גדול מאוד של טבלאות יכול לתרום לצריכת המכסה של BigQuery API.
יצירת טריגר
כדי ליצור טריגר:
במסוף Google Cloud , עוברים לדף BigQuery.
פותחים את צינור עיבוד הנתונים בכלי Pipeline Viewer באחת מהדרכים הבאות:
- בחלונית הימנית, לוחצים על קבצים, מרחיבים את התיקייה משתמש או תיקייה של צוות, ואז בוחרים צינור.
- בחלונית הימנית, לוחצים על Explorer, מרחיבים את הפרויקט, לוחצים על Pipelines ובוחרים צינור.
בסרגל הכלים של כלי התצוגה של צינורות, לוחצים על הפעלה.
בשדה Trigger, מזינים שם לטריגר.
בקטע אימות, נותנים לפייפליין הרשאות גישה באמצעות פרטי הכניסה של משתמש בחשבון Google או חשבון שירות.
כדי להשתמש בפרטי הכניסה של המשתמש בחשבון Google, בוחרים באפשרות Execute with my user credentials (הפעלה עם פרטי הכניסה של המשתמש שלי).
אופציונלי: בקטע Extended access options, בוחרים את השירותים הנוספים שנדרשים לצינור.
- Knowledge Catalog: מאפשר Google Cloud עדכוני מטא-נתונים של Knowledge Catalog.
- Google Drive: מאפשר גישה לקבצים ב-Google Drive לקריאה בלבד.
- Bigtable: מאפשר גישה לקריאה בלבד לנתונים ב-Google Bigtable.
כדי להשתמש בחשבון שירות, בוחרים באפשרות Execute with selected service account ואז בוחרים חשבון שירות.
אם צינור הנתונים מכיל מחברת, בקטע Notebook options, בשדה Runtime template, בוחרים תבנית של זמן ריצה של מחברת Colaboratory או את מפרטי זמן הריצה שמוגדרים כברירת מחדל. פרטים על יצירת תבנית של זמן ריצה בנוטבוק של Colab זמינים במאמר יצירת תבנית של זמן ריצה.
אם צינור הנתונים מכיל מחברת, בקטע Notebook options, בשדה קטגוריה של Cloud Storage, לוחצים על Browse ובוחרים או יוצרים קטגוריה של Cloud Storage לאחסון הפלט של המחברות בצינור הנתונים.
לחשבון השירות שבחרתם צריך להיות מוקצה תפקיד אדמין של Storage ב-IAM בדלי שבחרתם. מידע נוסף זמין במאמר הפעלת תזמון של צינורות.
בקטע Configuration Type (סוג ההגדרה), בוחרים באפשרות Trigger (event-based execution) (טריגר (הפעלה מבוססת-אירועים)).
בשדה חיפוש טבלאות, מוסיפים טבלה או טבלאות למעקב אחרי הטריגר.
בקטע תנאי הפעלה, בוחרים באחת מהאפשרויות הבאות:
- המתנה לעדכון של כל הטבלאות: הפעלת תהליך העבודה רק אחרי שכל הטבלאות שמופיעות ברשימה עודכנו מאז הבדיקה האחרונה.
- הפעלה אם יש עדכונים בטבלה כלשהי: תהליך העבודה יופעל אם אחת מהטבלאות שמופיעות ברשימה תעודכן מאז הבדיקה האחרונה.
(אופציונלי) בשדה Max Wait Duration (משך ההמתנה המקסימלי), מזינים משך זמן כדי לאלץ את ההפעלה של טריגר אם לא מזוהים עדכונים בטבלה במהלך משך הזמן הזה. אפשר להזין ערכים בין שנייה אחת ל-7 ימים. אם לא מציינים ערך, תהליך העבודה יפעל רק אם הטבלה שבמעקב תעודכן, ומשך הביצוע המינימלי יתקיים.
(אופציונלי) במשך הביצוע המינימלי, בוחרים משך זמן כדי למנוע הפעלה של טריגרים בתדירות גבוהה יותר ממשך הזמן המינימלי הזה. הערכים הנתמכים הם בין 3 דקות ל-24 שעות. אם לא מציינים ערך, ברירת המחדל היא 3 דקות.
לוחצים על יצירת לוח זמנים. אם בחרתם באפשרות Execute with my user credentials (הפעלה עם פרטי הכניסה של המשתמש שלי) כשיטת האימות, אתם צריכים לתת הרשאה לחשבון Google.
פתרון בעיות בלוחות זמנים שמבוססים על טריגרים
בקטע הזה מתוארות בעיות נפוצות שקשורות ללוחות זמנים שמבוססים על טריגרים, ומוסבר איך לפתור אותן.
- בעיה: הטריגר לא מופעל
- פתרון: אפשר לנסות את אחת מהאפשרויות הבאות:
- מוודאים שלפרטי הכניסה של המשתמש או לחשבון השירות יש את כל ההרשאות הנדרשות.
- מוודאים שהטבלה שצוינה ב-BigQuery משתנה.
- בודקים שהטריגר לא מושפע ממרווח הבדיקה.
- בודקים אם משך הביצוע המינימלי, או הערך של משך הביצוע המינימלי, מונע הפעלות תכופות יותר. אפשר להקטין את הערך הזה כדי להגדיל את התדירות של הפעלת הטריגר.
- בודקים אם אפשרות תנאי הטריגר (ALL או ANY) משפיעה על הפעלת הטריגר.
- בודקים את יומני הביקורת כדי לראות אם יש שגיאות כש-Dataform מנסה לקרוא ל-BigQuery API כדי לבדוק את הסטטוס של הטבלה שבמעקב.
- בעיה: הטריגר מופעל בתדירות גבוהה מדי
- פתרון: משנים את משך הביצוע המינימלי או את הערך של משך הביצוע המינימלי. אפשר להגדיל את הערך הזה כדי להקטין את התדירות של הפעלת הטריגר.
פריסת צינור עיבוד נתונים
כשפורסים צינור עיבוד נתונים, לוח הזמנים או הגדרות התיזמור שלו מתעדכנים לגרסה הנוכחית של צינור עיבוד הנתונים. הרצות מתוזמנות תמיד מפעילות את הגרסה האחרונה של צינור העיבוד שהופעלה.
פריסת צינורות עיבוד נתונים שמאוחסנים בתיקיות
כדי לפרוס צינורות עצמאיים וצינורות שמאוחסנים בתיקיות:
במסוף Google Cloud , עוברים לדף BigQuery.
פותחים את צינור עיבוד הנתונים בכלי להצגת צינורות עיבוד נתונים באחת מהדרכים הבאות:
- בחלונית הימנית, לוחצים על קבצים, מרחיבים את התיקייה משתמש או תיקייה של צוות, ואז בוחרים צינור.
- בחלונית הימנית, לוחצים על Explorer, מרחיבים את הפרויקט, לוחצים על Pipelines ובוחרים צינור.
בסרגל הכלים של Pipeline Viewer (כלי לצפייה בצינורות), לוחצים על Deploy (פריסה).
לוח הזמנים המתאים מתעדכן לגרסה הנוכחית של צינור העיבוד. הגרסה העדכנית ביותר של הצינור שפריסתה הושלמה תפעל בזמן המתוזמן.
פריסת צינורות עיבוד נתונים שמאוחסנים במאגרי Git
צינורות (pipelines) שמאוחסנים בתיקיות Git משתמשים בפריסות של Dataform לתיאום ולתזמון. פריסות מאפשרות להגדיר הגדרות של מהדורות, הגדרות של תהליכי עבודה, שינויים בהגדרות של קומפילציה ותזמור של סביבות מרובות.
כדי לפרוס צינור עיבוד נתונים שמאוחסן במאגר Git:
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על קבצים.
בעץ הקבצים, מרחיבים את התיקייה של מאגר Git המקושר ובוחרים צינור או לוחצים על התיקייה של מאגר Git אם מדובר בצינור ברמת הבסיס.
בסרגל הכלים של Pipeline Viewer (כלי לצפייה בצינורות), לוחצים על Deploy (פריסה).
בתיבת הדו-שיח של הפריסה, מגדירים את הגדרות המוצר, את הגדרות תהליך העבודה ואת הגדרות ההפעלה.
לוחצים על פריסה.
מידע נוסף על הגדרת פריסות, הגדרות של גרסאות וזרימות עבודה זמין במאמר פריסות של Dataform.
השבתת לוח זמנים
כדי להשהות את ההרצות המתוזמנות של צינור נתונים נבחר בלי למחוק את לוח הזמנים, אפשר להשבית את לוח הזמנים.
כדי להשבית לוח זמנים עבור צינור נתונים נבחר:
החלונית קבצים
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על קבצים.
בחלונית Files, מרחיבים את התיקייה User או את Team folder, ואז בוחרים צינור.
בסרגל הכלים של Pipeline Viewer, לוחצים על View trigger (הצגת הטריגר).
בטבלה פרטי התזמון, בשורה מצב התזמון, לוחצים על המתג התזמון מופעל.
חלונית Explorer
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על כלי הניתוחים:

בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Pipelines ובוחרים צינור.
לוחצים על View trigger (הצגת הטריגר).
בטבלה פרטי התזמון, בשורה מצב התזמון, לוחצים על המתג התזמון מופעל.
הדף קביעת הפגישה
נכנסים לדף Scheduling במסוף Google Cloud .
לוחצים על השם של צינור הנתונים שנבחר.
בדף פרטי התזמון, לוחצים על השבתה.
הפעלת לוח זמנים
כדי להפעיל מחדש הפעלות מתוזמנות של לוח זמנים של צינור השבתה:
החלונית קבצים
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על קבצים.
בחלונית Files, מרחיבים את התיקייה User או את Team folder, ואז בוחרים צינור.
בסרגל הכלים של Pipeline Viewer, לוחצים על View trigger (הצגת הטריגר).
בטבלה פרטי התזמון, בשורה מצב התזמון, לוחצים על המתג התזמון מושבת.
חלונית Explorer
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על כלי הניתוחים:

בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Pipelines ובוחרים צינור.
לוחצים על View trigger (הצגת הטריגר).
בטבלה פרטי התזמון, בשורה מצב התזמון, לוחצים על המתג התזמון מושבת.
הדף קביעת הפגישה
נכנסים לדף Scheduling במסוף Google Cloud .
לוחצים על השם של צינור הנתונים שנבחר.
בדף פרטי התזמון, לוחצים על הפעלה.
הפעלה ידנית של צינור עיבוד נתונים שנפרס
כשמריצים ידנית צינור נתונים שנפרס בלוח זמנים נבחר, BigQuery מריץ את צינור הנתונים שנפרס פעם אחת, באופן עצמאי מלוח הזמנים.
כדי להפעיל ידנית צינור להעברת נתונים שפרסתם:
נכנסים לדף Scheduling במסוף Google Cloud .
לוחצים על השם של תזמון הצינור שנבחר.
בדף פרטי התזמון, לוחצים על הפעלה.
הצגת כל התזמונים של צינורות העברת הנתונים
כדי לראות את כל התזמונים של צינורות העיבוד ב Google Cloud פרויקט, פועלים לפי השלבים הבאים:
נכנסים לדף Scheduling במסוף Google Cloud .
אופציונלי: כדי להציג עמודות נוספות עם פרטים על לוח הזמנים של הצינור, לוחצים על Column display options, בוחרים עמודות ולוחצים על OK.
הצגת פרטים על תזמון צינורות
כדי לראות את הפרטים של לוח זמנים שנבחר לצינור:
החלונית קבצים
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על קבצים.
בחלונית Files, מרחיבים את התיקייה User או את Team folder, ואז בוחרים צינור.
בסרגל הכלים של Pipeline Viewer, לוחצים על View trigger (או על View trigger).
חלונית Explorer
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על כלי הניתוחים:

בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Pipelines ובוחרים צינור.
לוחצים על View trigger (הצגת הטריגר).
הדף קביעת הפגישה
נכנסים לדף Scheduling במסוף Google Cloud .
לוחצים על השם של תזמון הצינור שנבחר.
הצגת הפעלות מתוזמנות קודמות
כדי לראות הפעלות קודמות של לוח זמנים נבחר של צינור:
החלונית קבצים
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על קבצים.
בחלונית Files, מרחיבים את התיקייה User, את Team folder או את מאגר Git, ואז בוחרים צינור.
בסרגל הכלים של Pipeline Viewer (כלי לצפייה בצינורות), לוחצים על Executions (הרצות).
אופציונלי: כדי לרענן את רשימת ההרצות הקודמות, לוחצים על רענון.
חלונית Explorer
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על כלי הניתוחים:

בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Pipelines ובוחרים צינור.
לוחצים על Executions (הרצות).
אופציונלי: כדי לרענן את רשימת ההרצות הקודמות, לוחצים על רענון.
הדף קביעת הפגישה
נכנסים לדף Scheduling במסוף Google Cloud .
לוחצים על השם של צינור הנתונים שנבחר.
בדף פרטי התזמון, בקטע הפעלות קודמות, בודקים את ההרצות הקודמות.
אופציונלי: כדי לרענן את רשימת ההרצות הקודמות, לוחצים על רענון.
עריכת תזמון של פייפליין
כדי לערוך לוח זמנים של צינור:
החלונית קבצים
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על קבצים.
בחלונית Files, מרחיבים את התיקייה User או את Team folder, ואז בוחרים צינור.
בסרגל הכלים של Pipeline Viewer (כלי לצפייה בצינורות), לוחצים על View trigger (הצגת טריגר) ואז על Edit (עריכה).
בתיבת הדו-שיח תזמון צינור, עורכים את התזמון ולוחצים על עדכון התזמון.
חלונית Explorer
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על כלי הניתוחים:

בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Pipelines ובוחרים צינור.
לוחצים על הצגת הטריגר ואז על עריכה.
בתיבת הדו-שיח תזמון צינור, עורכים את התזמון ולוחצים על עדכון התזמון.
הדף קביעת הפגישה
נכנסים לדף Scheduling במסוף Google Cloud .
לוחצים על השם של צינור הנתונים שנבחר.
בדף פרטי התזמון, לוחצים על עריכה.
לוחצים על הצגת הטריגר ואז על עריכה.
בתיבת הדו-שיח תזמון צינור, עורכים את התזמון ולוחצים על עדכון התזמון.
מחיקת לוח זמנים של צינור
כדי למחוק לצמיתות לוח זמנים של צינור:
נכנסים לדף Scheduling במסוף Google Cloud .
בצע אחת מהפעולות הבאות:
לוחצים על השם של תזמון צינור הנתונים שנבחר, ואז בדף פרטי התזמון לוחצים על מחיקה.
בשורה שמכילה את התזמון של צינור הנתונים שנבחר, לוחצים על הצגת פעולות בעמודה פעולות ואז על מחיקה.
בתיבת הדו-שיח שמופיעה, לוחצים על מחיקה.
המאמרים הבאים
- מידע נוסף על צינורות ב-BigQuery
- איך יוצרים צינורות
- איך מנהלים צינורות
- איך מנהלים קוד באמצעות מאגרי Git ב-BigQuery Studio
- איך מארגנים נכסי קוד באמצעות תיקיות
- מידע נוסף על פריסות של Dataform