תזמון צינורות עיבוד נתונים
במאמר הזה מוסבר איך לתזמן צינורות של 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 (Preview), צריך להפעיל את 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) on the project
- 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:
משתמש OAuth של Developer Connect (
roles/developerconnect.oauthUser) בפרויקט -
הפעלת העשרה של מטא-נתונים:
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, מזינים שם לתזמון.
בקטע Authentication (אימות), מאשרים את הצינור באמצעות פרטי הכניסה של משתמש בחשבון 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 bucket (קטגוריה של Cloud Storage), לוחצים על Browse (עיון) ובוחרים או יוצרים קטגוריה של Cloud Storage לאחסון הפלט של מחברות בצינור העיבוד.
לחשבון השירות שבחרתם צריך להיות מוקצה תפקיד אדמין של Storage ב-IAM בדלי שבחרתם. מידע נוסף זמין במאמר בנושא הפעלת תזמון של צינורות.
בקטע Configuration Type (סוג ההגדרה), בוחרים באפשרות Schedule (time-based recurrence) (תזמון (חזרה על עצמה לפי זמן)).
בקטע תדירות התזמון, מבצעים את הפעולות הבאות:
- בתפריט Repeats, בוחרים את התדירות של הפעלות צינורות מתוזמנות.
- בשדה At time, מזינים את השעה להפעלות מתוזמנות של צינור עיבוד הנתונים.
- בתפריט אזור זמן, בוחרים את אזור הזמן של לוח הזמנים.
מגדירים את העדיפות של משימת השאילתה ב-BigQuery באמצעות האפשרות Execute as interactive job with high priority (default) (הפעלה כמשימה אינטראקקטיבית עם עדיפות גבוהה (ברירת מחדל)). כברירת מחדל, BigQuery מריץ שאילתות כמשימות של שאילתות אינטראקטיביות, שמיועדות להתחיל לפעול במהירות האפשרית. אם לא מסמנים את האפשרות הזו, השאילתות מופעלות כעבודות של שאילתות באצווה, שהעדיפות שלהן נמוכה יותר.
לוחצים על יצירת לוח זמנים. אם בחרתם באפשרות ביצוע עם פרטי הכניסה של המשתמש שלי כשיטת האימות, אתם צריכים לתת הרשאה לחשבון Google (תצוגה מקדימה).
כשיוצרים את לוח הזמנים, הגרסה הנוכחית של צינור עיבוד הנתונים נפרסת באופן אוטומטי. כדי לעדכן את לוח הזמנים עם גרסה חדשה של צינור העיבוד, פורסים את צינור העיבוד.
הגרסה האחרונה של הפייפליין שנפרסה מופעלת בזמן ובתדירות שנבחרו.
החלונית Explorer
במסוף Google Cloud , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על כלי הניתוחים:

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Pipelines ובוחרים צינור.
לוחצים על תזמון.
בחלונית Schedule pipeline, בשדה Schedule name, מזינים שם לתזמון.
בקטע Authentication (אימות), מאשרים את הצינור באמצעות פרטי הכניסה של משתמש בחשבון 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 bucket, לוחצים על Browse ובוחרים או יוצרים קטגוריה של Cloud Storage לאחסון הפלט של המחברות בצינור הנתונים.
לחשבון השירות שבחרתם צריך להיות מוקצה תפקיד אדמין של Storage ב-IAM בדלי שבחרתם. מידע נוסף זמין במאמר בנושא הפעלת תזמון של צינורות.
בקטע Configuration Type (סוג ההגדרה), בוחרים באפשרות Schedule (time-based recurrence) (תזמון (חזרה על עצמה לפי זמן)).
בקטע תדירות התזמון, מבצעים את הפעולות הבאות:
- בתפריט Repeats, בוחרים את התדירות של הפעלות צינורות מתוזמנות.
- בשדה At time, מזינים את השעה להפעלות מתוזמנות של צינור עיבוד הנתונים.
- בתפריט אזור זמן, בוחרים את אזור הזמן של לוח הזמנים.
מגדירים את העדיפות של משימת השאילתה ב-BigQuery באמצעות האפשרות Execute as interactive job with high priority (default) (הפעלה כמשימה אינטראקקטיבית עם עדיפות גבוהה (ברירת מחדל)). כברירת מחדל, BigQuery מריץ שאילתות כמשימות של שאילתות אינטראקטיביות, שמיועדות להתחיל לפעול במהירות האפשרית. אם לא מסמנים את האפשרות הזו, השאילתות מופעלות כעבודות של שאילתות באצווה, שהעדיפות שלהן נמוכה יותר.
לוחצים על יצירת לוח זמנים. אם בחרתם באפשרות ביצוע עם פרטי הכניסה של המשתמש שלי כשיטת האימות, אתם צריכים לתת הרשאה לחשבון Google (תצוגה מקדימה).
כשיוצרים את לוח הזמנים, הגרסה הנוכחית של צינור עיבוד הנתונים נפרסת באופן אוטומטי. כדי לעדכן את לוח הזמנים עם גרסה חדשה של צינור העיבוד, פורסים את צינור העיבוד.
הגרסה האחרונה של הפייפליין שנפרסה תפעל בזמן ובתדירות שנבחרו.
הדף תזמון
נכנסים לדף Scheduling במסוף Google Cloud .
לוחצים על יצירה ובוחרים באפשרות תזמון צינור בתפריט.
בחלונית Schedule pipeline, בוחרים צינור להוספה לתזמון.
בשדה שם לוח הזמנים, מזינים שם ללוח הזמנים.
בקטע Authentication (אימות), מאשרים את הצינור באמצעות פרטי הכניסה של משתמש בחשבון 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 בדלי שבחרתם. מידע נוסף זמין במאמר בנושא הפעלת תזמון של צינורות.
בקטע Configuration Type (סוג ההגדרה), בוחרים באפשרות Schedule (time-based recurrence) (תזמון (חזרה על עצמה לפי זמן)).
בקטע תדירות התזמון, מבצעים את הפעולות הבאות:
- בתפריט Repeats, בוחרים את התדירות של הפעלות צינורות מתוזמנות.
- בשדה At time, מזינים את השעה להפעלות מתוזמנות של צינור עיבוד הנתונים.
- בתפריט אזור זמן, בוחרים את אזור הזמן של לוח הזמנים.
מגדירים את העדיפות של משימת השאילתה ב-BigQuery באמצעות האפשרות Execute as interactive job with high priority (default) (הפעלה כמשימה אינטראקקטיבית עם עדיפות גבוהה (ברירת מחדל)). כברירת מחדל, BigQuery מריץ שאילתות כמשימות של שאילתות אינטראקטיביות, שמיועדות להתחיל לפעול במהירות האפשרית. אם לא מסמנים את האפשרות הזו, השאילתות מופעלות כעבודות של שאילתות באצווה, שהעדיפות שלהן נמוכה יותר.
לוחצים על יצירת לוח זמנים. אם בחרתם באפשרות ביצוע עם פרטי הכניסה של המשתמש שלי כשיטת האימות, אתם צריכים לתת הרשאה לחשבון Google (תצוגה מקדימה).
איך נותנים הרשאה לחשבון Google
כדי לאמת את המשאב באמצעות פרטי הכניסה של המשתמש בחשבון Google, צריך להעניק באופן ידני הרשאה לצינורות של BigQuery לקבל את טוקן הגישה לחשבון Google ולגשת לנתוני המקור בשמכם. אתם יכולים לתת אישור ידני באמצעות ממשק תיבת הדו-שיח של OAuth. אם בוחרים באחת מאפשרויות הגישה המורחבת, צריך להעניק גישה לשירותים האלה – למשל, Google Drive או Knowledge Catalog.
צריך לתת הרשאה לצינורות של BigQuery רק פעם אחת.
כדי לבטל את ההרשאה שנתתם:
- עוברים אל הדף של החשבון ב-Google.
- לוחצים על BigQuery Pipelines.
- לוחצים על הסרת הגישה.
שינוי הבעלים של לוח הזמנים של צינור הנתונים על ידי עדכון פרטי הכניסה דורש גם אישור ידני אם הבעלים החדש של חשבון Google מעולם לא יצר לוח זמנים.
אם צינור הנתונים מכיל מחברת, צריך גם לתת באופן ידני את ההרשאה ל-Colab Enterprise לקבל את אסימון הגישה לחשבון Google שלכם ולגשת לנתוני המקור בשמכם. צריך לתת הרשאה רק פעם אחת. אפשר לבטל את ההרשאה הזו בדף של חשבון Google.
תזמון מבוסס-טריגר
אפשר להגדיר צינורות נתונים של BigQuery כך שיפעילו אוטומטית ביצועים על סמך עדכונים בטבלאות ספציפיות ב-BigQuery. אתם יכולים ליצור תזמונים מבוססי-טריגר כדי לבצע אוטומציה של הפעלות צינורות בתגובה לשינויים בנתוני BigQuery, במקום לפי תזמון קבוע.
כשהצינור מזהה שינויים בטבלה או בטבלאות שצוינו, הוא מפעיל ביצוע חדש של תהליך העבודה המשויך. אפשר להגדיר תנאים שמבוססים על עדכונים בטבלה אחת, בכל הטבלאות בקבוצה או בכל אחת מהטבלאות בקבוצה.
אפשר גם לשנות את ההגדרות האופציונליות של התזמונים שמבוססים על טריגרים כדי לשלוט במרווח המינימלי בין טריגרים של צינורות. לדוגמה, אפשר לשנות את הערך של משך הביצוע המינימלי כדי לוודא שהפעלת לוחות זמנים מבוססי-טריגר לא תהיה תכופה יותר מהמתוכנן. אפשר גם לשנות את הערך של משך ההמתנה המקסימלי כדי לוודא שהתזמון שמבוסס על טריגר יופעל פעם אחת במהלך משך הזמן הזה, גם אם לא זוהו עדכונים בטבלה.
מגבלות
לוחות זמנים שמבוססים על טריגרים כפופים למגבלות הבאות:
- פרומפטים מתוזמנים מבוססי-טריגר לא מופעלים באופן מיידי. כשמגדירים לוח זמנים שמבוסס על טריגר, צינור הנתונים בודק את הסטטוס של הטבלה ב-BigQuery בערך כל 3 דקות. התקופה הזו נקראת מרווח הדגימה, והיא עלולה לגרום לעיכוב בין שינוי בטבלה לבין הפעלת הטריגר.
- כל טבלה שנמצאת במעקב מובילה לקריאות ל-API אל BigQuery במהלך כל מרווח תשאול. מעקב אחרי מספר גדול מאוד של טבלאות עלול לתרום לניצול המכסה של BigQuery API.
יצירת טריגר
כדי ליצור טריגר:
במסוף Google Cloud , עוברים לדף BigQuery.
פותחים את הערוץ בכלי להצגת ערוצים באחת מהדרכים הבאות:
- בחלונית הימנית, לוחצים על קבצים, מרחיבים את התיקייה משתמש או את תיקיית הצוות, ואז בוחרים צינור.
- בחלונית הימנית, לוחצים על Explorer, מרחיבים את הפרויקט, לוחצים על Pipelines ובוחרים צינור.
בסרגל הכלים של Pipeline Viewer, לוחצים על Trigger (הפעלה).
בשדה Trigger, מזינים שם לטריגר.
בקטע Authentication (אימות), מאשרים את הצינור באמצעות פרטי הכניסה של משתמש בחשבון Google או חשבון שירות.
- כדי להשתמש בפרטי הכניסה של המשתמש בחשבון Google (תצוגה מקדימה), בוחרים באפשרות Execute with my user credentials (הפעלה עם פרטי הכניסה של המשתמש).
- כדי להשתמש בחשבון שירות, בוחרים באפשרות Execute with selected service account ואז בוחרים חשבון שירות.
אם צינור הנתונים מכיל מחברת, בקטע Notebook options, בשדה Runtime template, בוחרים תבנית של זמן ריצה של מחברת Colaboratory או את מפרטי זמן הריצה שמוגדרים כברירת מחדל. פרטים על יצירת תבנית של זמן ריצה בנוטבוק של Colab זמינים במאמר יצירת תבנית של זמן ריצה.
אם צינור הנתונים מכיל מחברת, בקטע Notebook options, בשדה Cloud Storage bucket, לוחצים על Browse ובוחרים או יוצרים קטגוריה של Cloud Storage לאחסון הפלט של המחברות בצינור הנתונים.
לחשבון השירות שבחרתם צריך להיות מוקצה תפקיד אדמין של Storage ב-IAM בדלי שבחרתם. מידע נוסף זמין במאמר בנושא הפעלת תזמון של צינורות.
בקטע Configuration Type (סוג ההגדרה), בוחרים באפשרות Trigger (event-based execution) (טריגר (הפעלה מבוססת-אירועים)).
בשדה חיפוש טבלאות, מוסיפים טבלה או טבלאות למעקב אחרי הטריגר.
בקטע Trigger Condition (תנאי להפעלת הטריגר), בוחרים באחת מהאפשרויות הבאות:
- המתנה לעדכון של כל הטבלאות: הפעלת תהליך העבודה רק כשכל הטבלאות שמופיעות ברשימה עודכנו מאז הבדיקה האחרונה.
- הפעלה אם מתבצע עדכון בכל טבלה: הפעלת תהליך העבודה הזה אם מתבצע עדכון בכל אחת מהטבלאות שמופיעות ברשימה מאז הבדיקה האחרונה.
(אופציונלי) בשדה Max Wait Duration (משך ההמתנה המקסימלי), מזינים משך זמן כדי לאלץ את ההפעלה של טריגר אם לא מזוהים עדכונים בטבלה במהלך משך הזמן הזה. אפשר להזין ערכים בין שנייה אחת ל-7 ימים. אם לא מציינים ערך, תהליך העבודה יפעל רק אם הטבלה שבמעקב תעודכן, ומשך הביצוע המינימלי יתקיים.
(אופציונלי) במשך הביצוע המינימלי, בוחרים משך זמן כדי למנוע הפעלה של טריגרים בתדירות גבוהה יותר ממשך הזמן המינימלי הזה. הערכים הנתמכים הם בין 3 דקות ל-24 שעות. אם לא מציינים ערך, ברירת המחדל היא 3 דקות.
לוחצים על יצירת לוח זמנים. אם בחרתם באפשרות ביצוע עם פרטי הכניסה של המשתמש שלי כשיטת האימות, אתם צריכים לתת הרשאה לחשבון 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