תזמון שאילתות
שאילתות מתוזמנות ב-BigQuery מאפשרות להפוך עומסי עבודה חוזרים של GoogleSQL לאוטומטיים, כולל הצהרות של שפת הגדרת נתונים (DDL) ושל שפת טיפול בנתונים (DML). כדי לארגן את התוצאות לפי תאריך ושעה, אפשר להגדיר פרמטרים גם למחרוזת השאילתה וגם לטבלת היעד. כשיוצרים או מעדכנים תזמון, BigQuery ממיר את השעה המתוזמנת מהשעה המקומית ל-UTC, שלא מושפע משעון קיץ.
לפני שמתחילים
- שאילתות מתוזמנות משתמשות בתכונות של שירות העברת הנתונים ל-BigQuery. מוודאים שביצעתם את כל הפעולות שנדרשות כדי להפעיל את שירות העברת הנתונים ל-BigQuery.
- להקצות תפקידים של ניהול זהויות והרשאות גישה (IAM) שנותנים למשתמשים את ההרשאות שנדרשות כדי לבצע כל משימה שמופיעה במסמך הזה.
- אם אתם מתכננים לציין מפתח הצפנה בניהול הלקוח (CMEK), ודאו שלחשבון השירות שלכם יש הרשאות להצפנה ולפענוח, ושיש לכם את מזהה המשאב של מפתח Cloud KMS שנדרש כדי להשתמש ב-CMEK. במאמר ציון מפתח הצפנה בשאילתות מתוזמנות מוסבר איך CMEK פועל עם שירות העברת הנתונים ל-BigQuery.
מגבלות
- שאילתות מתוזמנות שפועלות בדיוק בשעה עגולה (לדוגמה, 09:00) עשויות לפעול כמה פעמים, מה שעלול לגרום לתוצאות לא מכוונות כמו שכפול נתונים מפעולות
INSERT. כדי למנוע תוצאות לא מכוונות כאלה, כדאי להשתמש בלוח זמנים שלא מתחיל בשעה עגולה (לדוגמה, 08:58 או 09:03).
ההרשאות הנדרשות
כדי לתזמן שאילתה, אתם צריכים את הרשאות ה-IAM הבאות:
כדי ליצור את ההעברה, צריכות להיות לכם ההרשאות
bigquery.transfers.updateו-bigquery.datasets.get, או ההרשאותbigquery.jobs.create,bigquery.transfers.getו-bigquery.datasets.get.כדי להריץ שאילתה מתוזמנת, אתם צריכים:
- ההרשאה
bigquery.datasets.getבמערך הנתונים המיועד. - הרשאת
bigquery.jobs.createבפרויקט.
- ההרשאה
כדי לשנות או למחוק שאילתה מתוזמנת, צריך אחד מהתפקידים הבאים:
- ההרשאה
bigquery.transfers.updateבפרויקט. - אם אתם מריצים שאילתה מתוזמנת באמצעות פרטי כניסה של משתמש, המשתמש צריך להיות הבעלים של השאילתה המתוזמנת, ואתם צריכים את ההרשאה
bigquery.jobs.createבפרויקט. - אם אתם מריצים שאילתה מתוזמנת כחשבון שירות, למשתמש ששולח קריאה לשאילתה המתוזמנת צריכה להיות הרשאת
bigquery.transfers.updateבפרויקט. הקצאת התפקיד משתמש בחשבון שירות ב-IAM (iam.serviceAccountUser) מאפשרת למשתמש להריץ משימות בתור חשבון השירות, אבל לא נותנת לו הרשאות ניהול של הגדרת השאילתה המתוזמנת.
תפקיד ה-IAM המוגדר מראש אדמין ב-BigQuery (roles/bigquery.admin) כולל את ההרשאות שנדרשות כדי לתזמן או לשנות שאילתה.
במאמר תפקידים והרשאות מוגדרים מראש תוכלו לקרוא מידע נוסף על תפקידי IAM ב-BigQuery.
כדי ליצור או לעדכן שאילתות מתוזמנות שמופעלות על ידי חשבון שירות, אתם צריכים גישה לחשבון השירות הזה. מידע נוסף על הקצאת התפקיד "משתמש בחשבון שירות" למשתמשים זמין במאמר התפקיד "משתמש בחשבון שירות". כדי לבחור חשבון שירות בממשק המשתמש של השאילתות המתוזמנות במסוףGoogle Cloud , צריך את ההרשאות הבאות ב-IAM:
-
iam.serviceAccounts.listכדי להציג את רשימת חשבונות השירות. iam.serviceAccountUserכדי להקצות חשבון שירות לשאילתה מתוזמנת.
אפשרויות להגדרות אישיות
בקטעים הבאים מתוארות אפשרויות ההגדרה.
מחרוזת השאילתה
מחרוזת השאילתה צריכה להיות תקינה וכתובה ב-GoogleSQL. כל הרצה של שאילתה מתוזמנת יכולה לקבל את הפרמטרים הבאים של השאילתה.
כדי לבדוק באופן ידני מחרוזת שאילתה עם הפרמטרים @run_time ו-@run_date לפני שמתזמנים שאילתה, משתמשים בכלי שורת הפקודה של BigQuery.
פרמטרים זמינים
| פרמטר | סוג GoogleSQL | ערך |
|---|---|---|
@run_time |
TIMESTAMP |
מיוצג לפי שעון UTC. בשאילתות שנקבעו באופן קבוע, run_time מייצג את זמן ההפעלה המיועד. לדוגמה, אם השאילתה המתוזמנת מוגדרת ל "כל 24 שעות", ההפרש של run_time בין שתי שאילתות עוקבות הוא בדיוק 24 שעות, למרות שזמן הביצוע בפועל עשוי להשתנות מעט. |
@run_date |
DATE |
מייצג תאריך לוגי ביומן. |
דוגמה
הפרמטר @run_time הוא חלק ממחרוזת השאילתה בדוגמה הזו, ששולחת שאילתה למערך נתונים ציבורי בשם hacker_news.stories.
SELECT @run_time AS time, title, author, text FROM `bigquery-public-data.hacker_news.stories` LIMIT 1000
טבלת היעד
אם טבלת היעד של התוצאות לא קיימת כשמגדירים את השאילתה המתוזמנת, BigQuery מנסה ליצור את הטבלה בשבילכם.
אם אתם משתמשים בשאילתת DDL או DML, בחרו את Processing location או את האזור במסוף Google Cloud . צריך לציין מיקום עיבוד לשאילתות DDL או DML שיוצרות את טבלת היעד.
אם טבלת היעד קיימת ואתם משתמשים בWRITE_APPEND write preference, BigQuery מוסיפה נתונים לטבלת היעד ומנסה למפות את הסכימה.
BigQuery מאפשר באופן אוטומטי להוסיף שדות ולשנות את הסדר שלהם, וגם להתמודד עם שדות אופציונליים חסרים. אם הסכימה של הטבלה משתנה באופן משמעותי בין הרצות, כך ש-BigQuery לא יכול לעבד את השינויים באופן אוטומטי, השאילתה המתוזמנת נכשלת.
שאילתות יכולות להפנות לטבלאות מפרויקטים שונים וממערכי נתונים שונים. כשמגדירים את השאילתה המתוזמנת, לא צריך לכלול את מערך הנתונים של היעד בשם הטבלה. אתם מציינים את קבוצת הנתונים של היעד בנפרד.
מערך הנתונים והטבלה של היעד בשאילתה המתוזמנת צריכים להיות באותו פרויקט של השאילתה המתוזמנת.
העדפת כתיבה
העדפת הכתיבה שתבחרו קובעת איך תוצאות השאילתה ייכתבו בטבלת יעד קיימת.
-
WRITE_TRUNCATE: אם הטבלה קיימת, BigQuery מחליף את נתוני הטבלה. -
WRITE_APPEND: אם הטבלה קיימת, BigQuery מוסיף את הנתונים לטבלה.
אם אתם משתמשים בשאילתת DDL או DML, אתם לא יכולים להשתמש באפשרות של העדפת כתיבה.
יצירה, חיתוך או הוספה של טבלת יעד מתרחשים רק אם BigQuery מצליח להשלים את השאילתה. פעולות של יצירה, חיתוך או הוספה מתרחשות כעדכון אטומי אחד בסיום המשימה.
סידור באשכולות
שאילתות מתוזמנות יכולות ליצור אשכולות רק בטבלאות חדשות, כשהטבלה נוצרת באמצעות הצהרת DDL מסוג CREATE TABLE AS SELECT. אפשר לקרוא מידע נוסף במאמר יצירת טבלה מסודרת באשכולות מתוצאת שאילתה בדף שימוש בהצהרות של שפת הגדרת נתונים.
אפשרויות חלוקה למחיצות
שאילתות מתוזמנות יכולות ליצור טבלאות יעד מחולקות למחיצות או לא מחולקות למחיצות. אפשר להגדיר חלוקה למחיצות במסוף Google Cloud , בכלי שורת הפקודה של BigQuery וב-API. אם אתם משתמשים בשאילתת DDL או DML עם חלוקה למחיצות, השאירו את השדה Destination table partitioning ריק.
ב-BigQuery אפשר להשתמש בסוגים הבאים של חלוקה למחיצות בטבלאות:
- חלוקה לפי טווח של מספרים שלמים: טבלאות שמחולקות לפי טווחים של ערכים בעמודה ספציפית של
INTEGER. - חלוקה למחיצות לפי עמודת יחידת זמן: טבלאות שמחולקות למחיצות לפי עמודה מסוג
TIMESTAMP,DATEאוDATETIME. - חלוקה למחיצות לפי זמן הטמעת הנתונים: טבלאות שמחולקות למחיצות לפי זמן הטמעת הנתונים. BigQuery מקצה שורות למחיצות באופן אוטומטי על סמך הזמן שבו BigQuery מטמיע את הנתונים.
כדי ליצור טבלה מחולקת למחיצות באמצעות שאילתה מתוזמנת במסוףGoogle Cloud , משתמשים באפשרויות הבאות:
כדי להשתמש בחלוקה למחיצות לפי טווח של מספרים שלמים, משאירים את השדה חלוקה למחיצות של טבלת יעדים ריק.
כדי להשתמש בחלוקה למחיצות לפי עמודת יחידת זמן, ציינו את שם העמודה בשדה חלוקה למחיצות של טבלת יעדים כשאתם מגדירים שאילתה מתוזמנת.
כדי להשתמש בחלוקה למחיצות לפי זמן הטמעה, משאירים את השדה Destination table partitioning ריק ומציינים את החלוקה למחיצות לפי תאריך בשם של טבלת היעד. לדוגמה,
mytable${run_date}. מידע נוסף זמין במאמר תחביר של תבניות פרמטרים.
פרמטרים זמינים
כשמגדירים את השאילתה המתוזמנת, אפשר לציין איך רוצים לחלק את טבלת היעד באמצעות פרמטרים של זמן ריצה.
| פרמטר | סוג התבנית | ערך |
|---|---|---|
run_time |
חותמת זמן בפורמט | לפי שעון UTC, בהתאם ללוח הזמנים. בשאילתות שנקבעו באופן קבוע, run_time מייצג את זמן ההפעלה המיועד. לדוגמה, אם השאילתה המתוזמנת מוגדרת ל "כל 24 שעות", ההפרש של run_time בין שתי שאילתות עוקבות הוא בדיוק 24 שעות, למרות שזמן הביצוע בפועל עשוי להשתנות מעט.למידע נוסף, ראו TransferRun.runTime. |
run_date |
מחרוזת תאריך | התאריך של הפרמטר run_time בפורמט הבא: %Y-%m-%d, לדוגמה: 2018-01-01. הפורמט הזה תואם לטבלאות שמחולקות למחיצות (Partitions) לפי זמני הטמעת הנתונים. |
מערכת תבניות
שאילתות מתוזמנות תומכות בפרמטרים של זמן ריצה בשם של טבלת היעד, באמצעות תחביר של תבניות.
תחביר של תבניות פרמטרים
התחביר של התבניות תומך בתבניות בסיסיות של מחרוזות ובהזמן שחלף. הפרמטרים מופיעים בפורמטים הבאים:
{run_date}{run_time[+\-offset]|"time_format"}
| פרמטר | מטרה |
|---|---|
run_date |
הפרמטר הזה מוחלף בתאריך בפורמט YYYYMMDD. |
run_time |
הפרמטר הזה תומך במאפיינים הבאים:
|
- אסור להוסיף רווחים בין run_time, offset ופורמט הזמן.
- כדי לכלול סוגריים מסולסלים במחרוזת, אפשר להוסיף להם תו בריחה (escape) כמו
'\{' and '\}'. - כדי לכלול מירכאות או קו אנכי ב-time_format, כמו
"YYYY|MM|DD", אפשר להוסיף להם תו בריחה במחרוזת הפורמט, למשל:'\"'או'\|'.
דוגמאות לתבניות של פרמטרים
בדוגמאות האלה אפשר לראות איך מציינים שמות של טבלאות יעד בפורמטים שונים של זמן, ואיך מגדירים היסט לזמן ההרצה.| run_time (UTC) | פרמטר של תבנית | שם טבלת היעד של הפלט |
|---|---|---|
| 2018-02-15 00:01:00 | mytable |
mytable |
| 2018-02-15 00:01:00 | mytable_{run_time|"%Y%m%d"} |
mytable_20180215 |
| 2018-02-15 00:01:00 | mytable_{run_time+25h|"%Y%m%d"} |
mytable_20180216 |
| 2018-02-15 00:01:00 | mytable_{run_time-1h|"%Y%m%d"} |
mytable_20180214 |
| 2018-02-15 00:01:00 | mytable_{run_time+1.5h|"%Y%m%d%H"}
או mytable_{run_time+90m|"%Y%m%d%H"} |
mytable_2018021501 |
| 2018-02-15 00:01:00 | {run_time+97s|"%Y%m%d"}_mytable_{run_time+97s|"%H%M%S"} |
20180215_mytable_000237 |
שימוש בחשבון שירות
אתם יכולים להגדיר שאילתה מתוזמנת לאימות כחשבון שירות. חשבון שירות הוא חשבון מיוחד שמשויך לפרויקט ב- Google Cloud . חשבון השירות יכול להריץ משימות, כמו שאילתות מתוזמנות או צינורות עיבוד נתונים ברצף (batch processing), באמצעות פרטי הכניסה של השירות עצמו במקום פרטי הכניסה של משתמש קצה.
במאמר מבוא לאימות תוכלו לקרוא מידע נוסף על אימות באמצעות חשבונות שירות.
אתם יכולים להגדיר את השאילתה המתוזמנת באמצעות חשבון שירות. אם נכנסתם באמצעות זהות מאוחדת, תצטרכו חשבון שירות כדי ליצור העברה. אם נכנסתם באמצעות חשבון Google, אתם לא חייבים להשתמש בחשבון שירות להעברה.
אתם יכולים לעדכן שאילתה מתוזמנת קיימת עם פרטי הכניסה של חשבון שירות באמצעות כלי שורת הפקודה של BigQuery או מסוף Google Cloud . למידע נוסף, ראו עדכון פרטי הכניסה של שאילתה מתוזמנת.
ציון מפתח הצפנה עם שאילתות מתוזמנות
אתם יכולים לציין מפתחות הצפנה בניהול הלקוח (CMEK) כדי להצפין נתונים להרצת העברה. אתם יכולים להשתמש ב-CMEK כדי לתמוך בהעברות משאילתות מתוזמנות.כשמציינים CMEK בהעברה, שירות העברת הנתונים ל-BigQuery מחיל את ה-CMEK על כל מטמון ביניים בדיסק של נתונים שנשלחו, כך שכל תהליך העבודה של העברת הנתונים תואם ל-CMEK.
אי אפשר לעדכן העברה קיימת כדי להוסיף CMEK אם ההעברה לא נוצרה במקור עם CMEK. לדוגמה, אי אפשר לשנות טבלת יעד שהוצפנה במקור כברירת מחדל, כך שתוצפן עכשיו באמצעות CMEK. באופן דומה, אי אפשר לשנות טבלת יעד שמוצפנת באמצעות CMEK לסוג אחר של הצפנה.
אפשר לעדכן את ה-CMEK של העברה אם הגדרת ההעברה נוצרה במקור עם הצפנת CMEK. כשמעדכנים מפתח CMEK בהגדרות ההעברה, שירות העברת הנתונים ל-BigQuery מפיץ את מפתח ה-CMEK לטבלאות היעד בהפעלה הבאה של ההעברה, ומחליף את כל מפתחות ה-CMEK המיושנים במפתח ה-CMEK החדש במהלך ההעברה. מידע נוסף זמין במאמר עדכון העברה.
אפשר גם להשתמש במפתחות ברירת המחדל של הפרויקט. כשמציינים מפתח ברירת מחדל לפרויקט בהעברה, שירות העברת הנתונים ל-BigQuery משתמש במפתח ברירת המחדל של הפרויקט כמפתח ברירת המחדל לכל הגדרות ההעברה החדשות.
הגדרה של שאילתות מתוזמנות
כדי לתזמן שאילתה, בוחרים אחת מהאפשרויות הבאות.
לתיאור של תחביר לוח הזמנים, ראו עיצוב לוח הזמנים.
לפרטים על תחביר לוח הזמנים, ראו משאב: TransferConfig. לחלופין, אתם יכולים להשתמש ב-Gemini Cloud Assist כדי לתזמן שאילתה על ידי מתן פרטי התזמון בהנחיה.
המסוף
פותחים את הדף BigQuery במסוף Google Cloud .
מריצים את השאילתה הרצויה. כשהתוצאות נראות לכם תקינות, לוחצים על File > Schedule.
האפשרויות של השאילתה המתוזמנת נפתחות בחלונית New scheduled query.
בחלונית New scheduled query:
- בשדה Name for the scheduled query, מזינים שם כמו
My scheduled query. השם של השאילתה המתוזמנת יכול להיות כל ערך שתוכלו לזהות בהמשך אם תצטרכו לשנות את השאילתה. אופציונלי: כברירת מחדל, השאילתה מתוזמנת לפעול מדי יום. כדי לשנות את לוח הזמנים שמוגדר כברירת מחדל, בוחרים אפשרות מהתפריט הנפתח חזרה:
כדי לציין תדירות מותאמת אישית, בוחרים באפשרות Custom ומזינים מפרט זמן דמוי Cron בשדה Custom schedule, לדוגמה:
every mon 23:30,every 6 hoursאוevery hour on mon,tue,wed,thu,fri. פרטים על לוחות זמנים חוקיים, כולל מרווחים בהתאמה אישית, מופיעים בשדהscheduleבקטע משאב:TransferConfig.
כדי לשנות את שעת ההתחלה, בוחרים באפשרות התחלה בשעה מוגדרת ומזינים את תאריך ההתחלה ושעת ההתחלה הרצויים.
כדי לציין שעת סיום, בוחרים באפשרות Schedule end time ומזינים את תאריך ושעת הסיום שנבחרו.
כדי לשמור את השאילתה בלי תזמון, כך שתוכלו להריץ אותה לפי דרישה מאוחר יותר, בתפריט Repeats בוחרים באפשרות On-demand.
- בשדה Name for the scheduled query, מזינים שם כמו
בשאילתת GoogleSQL ב-
SELECT, בוחרים באפשרות Set a destination table for query results ומספקים את הפרטים הבאים על קבוצת הנתונים של היעד.- בקטע Dataset name, בוחרים את קבוצת הנתונים המתאימה כיעד.
- בשדה Table name, מזינים את השם של טבלת היעד.
בקטע Destination table write preference, בוחרים באפשרות Append to table כדי להוסיף נתונים לטבלה, או באפשרות Overwrite table כדי להחליף את טבלת היעד.
בוחרים את סוג המיקום.
אם הפעלתם את טבלת היעד לתוצאות השאילתה, תוכלו לבחור באפשרות Automatic location selection כדי לבחור באופן אוטומטי את המיקום שבו נמצאת טבלת היעד.
אחרת, בוחרים את המיקום שבו נמצאים הנתונים שרוצים לשלוח אליהם שאילתה.
אפשרויות מתקדמות:
אופציונלי: CMEK אם אתם משתמשים במפתחות הצפנה בניהול הלקוח, אתם יכולים לבחור באפשרות Customer-managed key בקטע Advanced options. תופיע רשימה של מפתחות ה-CMEK הזמינים לבחירה. במאמר ציון מפתח הצפנה עם שאילתות מתוזמנות מוסבר איך מפתחות הצפנה בניהול הלקוח (CMEK) פועלים עם שירות העברת הנתונים ל-BigQuery.
אימות כחשבון שירות אם יש לכם חשבון שירות אחד או יותר שמשויך לפרויקט Google Cloud , אתם יכולים לשייך חשבון שירות לשאילתה המתוזמנת במקום להשתמש בפרטי הכניסה של המשתמש. בקטע Scheduled query credential, לוחצים על התפריט כדי לראות את רשימת חשבונות השירות הזמינים. אם נכנסתם באמצעות זהות מאוחדת, אתם צריכים חשבון שירות.
הגדרות נוספות:
אופציונלי: מסמנים את האפשרות שליחת התראות באימייל כדי לאפשר שליחת התראות באימייל על כשלים בהפעלת ההעברה.
אופציונלי: בשדה Pub/Sub topic, מזינים את שם הנושא ב-Pub/Sub, לדוגמה:
projects/myproject/topics/mytopic.
לוחצים על Save.
BQ
אפשרות 1: משתמשים בפקודה bq query.
כדי ליצור שאילתה מתוזמנת, מוסיפים את האפשרויות destination_table (או target_dataset), --schedule ו---display_name לפקודה bq query.
bq query \ --display_name=name \ --destination_table=table \ --schedule=interval
מחליפים את מה שכתוב בשדות הבאים:
-
name. השם המוצג של השאילתה המתוזמנת. השם המוצג יכול להיות כל ערך שתוכלו לזהות מאוחר יותר אם תצטרכו לשנות את השאילתה. -
table: טבלת היעד של תוצאות השאילתה.-
--target_datasetהיא דרך חלופית לתת שם למערך הנתונים של היעד לתוצאות השאילתה, כשמשתמשים בשאילתות DDL ו-DML. - אפשר להשתמש ב-
--destination_tableאו ב---target_dataset, אבל לא בשניהם.
-
-
interval. כשמשתמשים בו עםbq query, הוא הופך את השאילתה לשאילתה מתוזמנת חוזרת. צריך להגדיר לוח זמנים לתדירות ההפעלה של השאילתה. לפרטים על לוחות זמנים תקינים, כולל מרווחי זמן בהתאמה אישית, אפשר לעיין בשדהscheduleבקטע משאב:TransferConfig. דוגמאות:--schedule='every 24 hours'--schedule='every 3 hours'--schedule='every monday 09:00'--schedule='1st sunday of sep,oct,nov 00:00'
דגלים אופציונליים:
--project_idהוא מזהה הפרויקט. אם לא מציינים את--project_id, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל.
--replaceמחליף את טבלת היעד בתוצאות השאילתה אחרי כל הפעלה של השאילתה המתוזמנת. כל הנתונים הקיימים נמחקים. בטבלאות שלא חולקו למחיצות, גם הסכימה נמחקת.
--append_tableמוסיף את התוצאות לטבלת היעד.בשאילתות DDL ו-DML, אפשר גם להוסיף את הדגל
--locationכדי לציין אזור מסוים לעיבוד. אם לא מציינים את--location, המערכת משתמשת במיקום הכי קרוב של Google Cloud .
לדוגמה, הפקודה הבאה יוצרת שאילתה מתוזמנת בשם My Scheduled Query באמצעות השאילתה SELECT 1 from mydataset.test.
טבלת היעד היא mytable במערך הנתונים mydataset. השאילתה המתוזמנת נוצרת בפרויקט ברירת המחדל:
bq query \
--use_legacy_sql=false \
--destination_table=mydataset.mytable \
--display_name='My Scheduled Query' \
--schedule='every 24 hours' \
--replace=true \
'SELECT
1
FROM
mydataset.test'
אפשרות 2: משתמשים בפקודה bq mk.
שאילתות מתוזמנות הן סוג של העברה. כדי לתזמן שאילתה, אתם יכולים להשתמש בכלי שורת הפקודה של BigQuery כדי ליצור הגדרות העברה.
כדי לתזמן שאילתות, הן צריכות להיות בניב StandardSQL.
מזינים את הפקודה bq mk ומציינים את הדגלים הנדרשים הבאים:
--transfer_config--data_source--target_dataset(אופציונלי לשאילתות DDL ו-DML)--display_name--params
דגלים אופציונליים:
--project_idהוא מזהה הפרויקט. אם לא מציינים את--project_id, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל.
--scheduleהיא התדירות שבה רוצים להריץ את השאילתה. אם לא מציינים את--schedule, ברירת המחדל היא "כל 24 שעות" על סמך זמן היצירה.בשאילתות DDL ו-DML, אפשר גם להוסיף את הדגל
--locationכדי לציין אזור מסוים לעיבוד. אם לא מציינים את--location, המערכת משתמשת במיקום הכי קרוב של Google Cloud .
--service_account_nameמשמש לאימות השאילתה המתוזמנת באמצעות חשבון שירות במקום חשבון המשתמש שלכם.
--destination_kms_keyמציין את מזהה משאב המפתח של המפתח, אם משתמשים במפתח הצפנה בניהול הלקוח (CMEK) להעברה הזו. במאמר ציון מפתח הצפנה בשאילתות מתוזמנות מוסבר איך CMEK פועל עם שירות העברת הנתונים ל-BigQuery.
bq mk \ --transfer_config \ --target_dataset=dataset \ --display_name=name \ --params='parameters' \ --data_source=data_source
מחליפים את מה שכתוב בשדות הבאים:
-
dataset: קבוצת הנתונים שאליה מועברות הגדרות ההעברה.- הפרמטר הזה הוא אופציונלי בשאילתות DDL ו-DML. הוא נדרש בכל שאר השאילתות.
-
name. השם המוצג של הגדרות ההעברה. השם המוצג יכול להיות כל ערך שתוכלו לזהות מאוחר יותר אם תצטרכו לשנות את השאילתה. -
parameters. מכיל את הפרמטרים של הגדרות ההעברה שנוצרו בפורמט JSON. לדוגמה:--params='{"param":"param_value"}'.- בשאילתה מתוזמנת, צריך לספק את הפרמטר
query. - הפרמטר
destination_table_name_templateהוא השם של טבלת היעד.- הפרמטר הזה הוא אופציונלי בשאילתות DDL ו-DML. הוא נדרש בכל שאר השאילתות.
- בפרמטר
write_disposition, אפשר לבחור באפשרותWRITE_TRUNCATEכדי לחתוך (להחליף) את טבלת היעד, או באפשרותWRITE_APPENDכדי להוסיף את תוצאות השאילתה לטבלת היעד.- הפרמטר הזה הוא אופציונלי בשאילתות DDL ו-DML. הוא נדרש בכל שאר השאילתות.
- בשאילתה מתוזמנת, צריך לספק את הפרמטר
data_source. מקור הנתונים:scheduled_query.- אופציונלי: הדגל
--service_account_nameמשמש לאימות באמצעות חשבון שירות במקום חשבון משתמש ספציפי. - אופציונלי: הערך
--destination_kms_keyמציין את מזהה המשאב של המפתח ב-Cloud KMS, לדוגמהprojects/project_name/locations/us/keyRings/key_ring_name/cryptoKeys/key_name.
לדוגמה, הפקודה הבאה יוצרת הגדרת העברה של שאילתה מתוזמנת בשם My Scheduled Query באמצעות השאילתה SELECT 1
from mydataset.test. טבלת היעד mytable נחתכת בכל כתיבה, ומערך הנתונים של היעד הוא mydataset. השאילתה המתוזמנת נוצרת בפרויקט שמוגדר כברירת מחדל, ומאומתת כחשבון שירות:
bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Scheduled Query' \
--params='{"query":"SELECT 1 from mydataset.test","destination_table_name_template":"mytable","write_disposition":"WRITE_TRUNCATE"}' \
--data_source=scheduled_query \
--service_account_name=abcdef-test-sa@abcdef-test.iam.gserviceaccount.com
בפעם הראשונה שתריצו את הפקודה, תופיע הודעה כמו זו:
[URL omitted] Please copy and paste the above URL into your web browser and
follow the instructions to retrieve an authentication code.
פועלים לפי ההוראות שבהודעה ומדביקים את קוד האימות בשורת הפקודה.
API
משתמשים ב-method projects.locations.transferConfigs.create ומספקים מופע של המשאב TransferConfig.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הגדרת שאילתות מתוזמנות באמצעות חשבון שירות
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הצגת הסטטוס של שאילתה מתוזמנת
המסוף
כדי לראות את הסטטוס של השאילתות המתוזמנות, בתפריט הניווט לוחצים על Scheduling ומסננים לפי Scheduled Query. לוחצים על שאילתה מתוזמנת כדי לקבל פרטים נוספים עליה.
BQ
שאילתות מתוזמנות הן סוג של העברה. כדי להציג את הפרטים של שאילתה מתוזמנת, קודם צריך להשתמש בכלי שורת הפקודה של BigQuery כדי להציג את רשימת הגדרות ההעברה.
מזינים את הפקודה bq ls ומציינים את דגל ההעברה --transfer_config. צריך גם את הדגלים הבאים:
--transfer_location
לדוגמה:
bq ls \
--transfer_config \
--transfer_location=us
כדי להציג את הפרטים של שאילתה מתוזמנת אחת, מזינים את הפקודה bq show ומציינים את הערך של transfer_path של השאילתה המתוזמנת או של הגדרת ההעברה.
לדוגמה:
bq show \
--transfer_config \
projects/862514376110/locations/us/transferConfigs/5dd12f26-0000-262f-bc38-089e0820fe38
API
משתמשים ב-method projects.locations.transferConfigs.list ומספקים מופע של המשאב TransferConfig.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
עדכון שאילתות מתוזמנות
המסוף
כדי לעדכן שאילתה מתוזמנת:
- בתפריט הניווט, לוחצים על Pipelines & Connections ובוחרים בכרטיסייה Pipelines. אם האפשרות הזו לא מופיעה בתפריט הניווט, לוחצים על Scheduled queries.
- ברשימת השאילתות המתוזמנות, לוחצים על שם השאילתה שרוצים לשנות.
- בדף Scheduled query details שנפתח, לוחצים על Edit.
- אופציונלי: משנים את הטקסט של השאילתה בחלונית העריכה של השאילתה.
- לוחצים על File > Schedule > Update scheduled query.
- אופציונלי: משנים אפשרויות תזמון אחרות של השאילתה.
- לוחצים על Save.
BQ
שאילתות מתוזמנות הן סוג של העברה. כדי לעדכן שאילתה מתוזמנת, אתם יכולים להשתמש בכלי שורת הפקודה של BigQuery כדי ליצור הגדרות העברה.
מזינים את הפקודה bq update עם הדגל הנדרש --transfer_config.
דגלים אופציונליים:
--project_idהוא מזהה הפרויקט. אם לא מציינים את--project_id, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל.
--scheduleהיא התדירות שבה רוצים להריץ את השאילתה. אם לא מציינים את--schedule, ברירת המחדל היא "כל 24 שעות" על סמך זמן היצירה.המדיניות
--service_account_nameנכנסת לתוקף רק אם גם המדיניות--update_credentialsמוגדרת. למידע נוסף, ראו עדכון פרטי הכניסה של שאילתה מתוזמנת.
--target_dataset(אופציונלי לשאילתות DDL ו-DML) היא דרך חלופית לתת שם למערך הנתונים של היעד לתוצאות השאילתה, כשמשתמשים בשאילתות DDL ו-DML.
--display_nameהוא השם של השאילתה המתוזמנת.
--paramsהפרמטרים של הגדרות ההעברה שנוצרו בפורמט JSON. לדוגמה: --params='{"param":"param_value"}'.
--destination_kms_keyמציין את מזהה משאב המפתח של מפתח Cloud KMS, אם משתמשים במפתח הצפנה בניהול הלקוח (CMEK) להעברה הזו. במאמר ציון מפתח הצפנה עם שאילתות מתוזמנות מוסבר איך מפתחות הצפנה בניהול הלקוח (CMEK) פועלים עם שירות העברת הנתונים ל-BigQuery.
bq update \ --target_dataset=dataset \ --display_name=name \ --params='parameters' --transfer_config \ RESOURCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
dataset: קבוצת הנתונים שאליה מועברות הגדרות ההעברה. הפרמטר הזה הוא אופציונלי בשאילתות DDL ו-DML. הוא נדרש לכל שאר השאילתות. -
name. השם המוצג של הגדרות ההעברה. השם המוצג יכול להיות כל ערך שתוכלו לזהות מאוחר יותר אם תצטרכו לשנות את השאילתה. -
parameters. מכיל את הפרמטרים של הגדרות ההעברה שנוצרו בפורמט JSON. לדוגמה:--params='{"param":"param_value"}'.- בשאילתה מתוזמנת, צריך לספק את הפרמטר
query. - הפרמטר
destination_table_name_templateהוא השם של טבלת היעד. הפרמטר הזה הוא אופציונלי בשאילתות DDL ו-DML. הוא נדרש בכל שאר השאילתות. - בפרמטר
write_disposition, אפשר לבחור באפשרותWRITE_TRUNCATEכדי לחתוך (להחליף) את טבלת היעד, או באפשרותWRITE_APPENDכדי להוסיף את תוצאות השאילתה לטבלת היעד. הפרמטר הזה אופציונלי בשאילתות DDL ו-DML. הוא נדרש בכל שאר השאילתות.
- בשאילתה מתוזמנת, צריך לספק את הפרמטר
- אופציונלי: הערך
--destination_kms_keyמציין את מזהה המשאב של המפתח ב-Cloud KMS, לדוגמהprojects/project_name/locations/us/keyRings/key_ring_name/cryptoKeys/key_name. RESOURCE_NAME: שם המשאב של ההעברה (נקרא גם הגדרות ההעברה). אם אתם לא יודעים את שם המשאב של ההעברה, אתם יכולים למצוא אותו באמצעות:bq ls --transfer_config --transfer_location=location.
לדוגמה, הפקודה הבאה מעדכנת את הגדרות ההעברה של שאילתה מתוזמנת בשם My Scheduled Query באמצעות השאילתה SELECT 1
from mydataset.test. טבלת היעד mytable נחתכת בכל כתיבה, ומערך הנתונים של היעד הוא mydataset:
bq update \
--target_dataset=mydataset \
--display_name='My Scheduled Query' \
--params='{"query":"SELECT 1 from mydataset.test","destination_table_name_template":"mytable","write_disposition":"WRITE_TRUNCATE"}'
--transfer_config \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7
API
משתמשים ב-method projects.transferConfigs.patch ומציינים את שם המשאב של ההעברה באמצעות הפרמטר transferConfig.name. אם אתם לא יודעים את שם המשאב של ההעברה, אתם יכולים להשתמש בפקודה bq ls --transfer_config --transfer_location=location כדי להציג את כל ההעברות, או להפעיל את ה-method projects.locations.transferConfigs.list ולציין את מזהה הפרויקט באמצעות הפרמטר parent.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
עדכון שאילתות מתוזמנות עם הגבלות בעלות
אם תנסו לעדכן שאילתה מתוזמנת שלא אתם יצרתם, יכול להיות שהעדכון ייכשל ותופיע הודעת השגיאה הבאה:
Cannot modify restricted parameters without taking ownership of the transfer configuration.
הבעלים של שאילתה מתוזמנת הוא הזהות שפרטי הכניסה שלה משמשים להרצת השאילתה:
- פרטי כניסה של משתמש: אם השאילתה פועלת כמשתמש, המשתמש הזה הוא הבעלים.
- פרטי כניסה לחשבון שירות: אם השאילתה פועלת כחשבון שירות, חשבון השירות הוא הבעלים.
אפשר לראות את המשתמש המשויך בפרטי ההגדרה של השאילתה המתוזמנת. במאמר עדכון פרטי הכניסה של שאילתה מתוזמנת מוסבר איך לעדכן את השאילתה המתוזמנת כדי לקבל בעלות. כדי לתת למשתמשים גישה לחשבון שירות, צריך להיות לכם את התפקיד "משתמש בחשבון שירות".
הפרמטרים שמוגבלים לבעלים של שאילתות מתוזמנות הם:
- טקסט השאילתה
- קבוצת הנתונים של היעד
- תבנית השם של טבלת היעד
עדכון פרטי הכניסה של שאילתה מתוזמנת
אם אתם מתזמנים שאילתה קיימת, יכול להיות שתצטרכו לעדכן את פרטי הכניסה של המשתמש בשאילתה. פרטי הכניסה מתעדכנים באופן אוטומטי בשאילתות מתוזמנות חדשות.
מצבים נוספים שבהם יכול להיות שיהיה צורך לעדכן את פרטי הכניסה:
- אתם רוצים להריץ שאילתה על נתונים ב-Google Drive בשאילתה מתוזמנת.
כשמנסים לתזמן את השאילתה, מקבלים את השגיאה INVALID_USER:
Error code 5 : Authentication failure: User Id not found. Error code: INVALID_USERIDכשמנסים לעדכן את השאילתה, מופיעה הודעת השגיאה הבאה לגבי פרמטרים מוגבלים:
Cannot modify restricted parameters without taking ownership of the transfer configuration.
המסוף
כדי לרענן את פרטי הכניסה הקיימים בשאילתה מתוזמנת:
לוחצים על הלחצן עוד ובוחרים באפשרות עדכון פרטי הכניסה.
השינוי ייכנס לתוקף תוך 10 עד 20 דקות. יכול להיות שתצטרכו לנקות את המטמון של הדפדפן.
BQ
שאילתות מתוזמנות הן סוג של העברה. כדי לעדכן את פרטי הכניסה של שאילתה מתוזמנת, אתם יכולים להשתמש בכלי שורת הפקודה של BigQuery כדי לעדכן את הגדרות ההעברה.
מזינים את הפקודה bq update ומציינים את דגל ההעברה --transfer_config. צריך גם את הדגלים הבאים:
--update_credentials
דגל אופציונלי:
-
--service_account_nameמשמש לאימות השאילתה המתוזמנת באמצעות חשבון שירות במקום חשבון המשתמש שלכם.
לדוגמה, הפקודה הבאה מעדכנת הגדרת העברה של שאילתה מתוזמנת כדי לבצע אימות כחשבון שירות:
bq update \
--update_credentials \
--service_account_name=abcdef-test-sa@abcdef-test.iam.gserviceaccount.com \
--transfer_config \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הגדרה של הפעלה ידנית בתאריכים היסטוריים
בנוסף לתזמון שאילתה להרצה בעתיד, אתם יכולים גם להפעיל הרצות מיידיות באופן ידני. הפעלה מיידית נדרשת אם השאילתה משתמשת בפרמטר run_date, והיו בעיות בהפעלה קודמת.
לדוגמה, בכל יום בשעה 09:00 אתם שולחים שאילתה לטבלת מקור כדי לקבל שורות שתואמות לתאריך הנוכחי. עם זאת, אתם מגלים שלא נוספו נתונים לטבלת המקור בשלושת הימים האחרונים. במצב כזה, אתם יכולים להגדיר שהשאילתה תפעל על נתונים היסטוריים בטווח תאריכים שאתם מציינים. השאילתה פועלת באמצעות שילובים של הפרמטרים run_date ו-run_time, שתואמים לתאריכים שהגדרתם בשאילתה המתוזמנת.
אחרי שמגדירים שאילתה מתוזמנת, כך מריצים את השאילתה באמצעות טווח תאריכים היסטורי:
המסוף
כדי לראות את רשימת השאילתות המתוזמנות אחרי שלוחצים על Save, עוברים לתפריט הניווט הראשי של BigQuery, לוחצים על Pipelines & Connections ובוחרים בכרטיסייה Pipelines. אם האפשרות הזו לא מופיעה בתפריט, לוחצים על Scheduled queries. לוחצים על שם תצוגה כלשהו כדי לראות את פרטי השאילתה המתוזמנת. בחלק העליון של הדף, לוחצים על Schedule backfill כדי לציין טווח תאריכים היסטורי.
זמני ההפעלה שנבחרו נמצאים בטווח שבחרתם, כולל התאריך הראשון ולא כולל התאריך האחרון.
דוגמה 1
השאילתה המתוזמנת מוגדרת לפעול בשעה every day 09:00 לפי שעון החוף המערבי של ארה"ב. חסרים נתונים מ-1 בינואר, מ-2 בינואר ומ-3 בינואר. בוחרים את טווח התאריכים ההיסטורי הבא:
Start Time = 1/1/19
End Time = 1/4/19
השאילתה פועלת באמצעות הפרמטרים run_date ו-run_time, שתואמים לזמנים הבאים:
- 1/1/19 09:00 שעון החוף המערבי של ארה"ב
- 1/2/19 09:00 שעון החוף המערבי של ארה"ב
- 3 בינואר 2019, 09:00 שעון החוף המערבי של ארה"ב
דוגמה 2
השאילתה המתוזמנת מוגדרת לפעול בשעה every day 23:00 לפי שעון החוף המערבי של ארה"ב. חסרים נתונים מ-1 בינואר, מ-2 בינואר ומ-3 בינואר. בוחרים את טווחי התאריכים ההיסטוריים הבאים (התאריכים המאוחרים יותר נבחרים כי ב-UTC יש תאריך שונה בשעה 23:00 לפי שעון החוף המערבי):
Start Time = 1/2/19
End Time = 1/5/19
השאילתה פועלת באמצעות הפרמטרים run_date ו-run_time, שתואמים לזמנים הבאים:
- 2.1.2019 בשעה 06:00 לפי שעון UTC, או 1.1.2019 בשעה 23:00 לפי שעון החוף המערבי
- 3 בינואר 2019 בשעה 06:00 לפי שעון UTC, או 2 בינואר 2019 בשעה 23:00 לפי שעון החוף המערבי של ארה"ב
- 1 באפריל 2019 בשעה 06:00 לפי שעון UTC, או 3 בינואר 2019 בשעה 23:00 לפי שעון החוף המערבי (PST)
אחרי שמגדירים הפעלות ידניות, צריך לרענן את הדף כדי לראות אותן ברשימת ההפעלות.
BQ
כדי להריץ את השאילתה באופן ידני על טווח תאריכים היסטורי:
מזינים את הפקודה bq mk ומציינים את הדגל של הרצת ההעברה --transfer_run. צריך גם את הדגלים הבאים:
--start_time--end_time
bq mk \ --transfer_run \ --start_time='start_time' \ --end_time='end_time' \ resource_name
מחליפים את מה שכתוב בשדות הבאים:
-
start_timeוגםend_time. חותמות זמן שמסתיימות ב-Z או מכילות היסט תקין של אזור זמן. דוגמאות:- 2017-08-19T12:11:35.00Z
- 2017-05-25T00:00:00+00:00
-
resource_name: שם המשאב של השאילתה המתוזמנת (או של ההעברה). שם המשאב נקרא גם הגדרת ההעברה.
לדוגמה, הפקודה הבאה מתזמנת מילוי חוסרים למשאב של שאילתה מתוזמנת (או הגדרת העברה):
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7.
bq mk \
--transfer_run \
--start_time 2017-05-25T00:00:00Z \
--end_time 2017-05-25T00:00:00Z \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7
מידע נוסף זמין במאמר bq mk --transfer_run.
API
משתמשים ב-method projects.locations.transferConfigs.scheduleRun ומציינים את הנתיב של המשאב TransferConfig.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הגדרת התראות לשאילתות מתוזמנות
אתם יכולים להגדיר מדיניות התראות לשאילתות מתוזמנות על סמך מדדים של ספירת שורות. מידע נוסף זמין במאמר הגדרת התראות באמצעות שאילתות מתוזמנות.
מחיקת שאילתות מתוזמנות
המסוף
כדי למחוק שאילתה מתוזמנת בדף Scheduled queries במסוף Google Cloud :
- בתפריט הניווט, לוחצים על Scheduled queries.
- ברשימת השאילתות המתוזמנות, לוחצים על השם של השאילתה שרוצים למחוק.
בדף Scheduled query details, לוחצים על Delete.
אפשר גם למחוק שאילתה מתוזמנת בדף Scheduling במסוף Google Cloud :
- בתפריט הניווט, לוחצים על תזמון.
- ברשימת השאילתות המתוזמנות, לוחצים על התפריט Actions של השאילתה המתוזמנת שרוצים למחוק.
בוחרים את האפשרות Delete.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
השבתה או הפעלה של שאילתות מתוזמנות
כדי להשהות את ההרצות המתוזמנות של שאילתה מסוימת בלי למחוק את התזמון, אתם יכולים להשבית את התזמון.
כדי להשבית תזמון של שאילתה שנבחרה:
- בתפריט הניווט של מסוף Google Cloud , לוחצים על Scheduling.
- ברשימת השאילתות המתוזמנות, לוחצים על התפריט Actions של השאילתה המתוזמנת שרוצים להשבית.
לוחצים על השבתה.
כדי להפעיל שאילתה מתוזמנת מושבתת, לוחצים על התפריט Actions של השאילתה המתוזמנת שרוצים להפעיל ובוחרים באפשרות Enable.
מכסות
שאילתות מתוזמנות תמיד מופעלות כמשימות של שאילתות באצווה, וכפופות לאותן מכסות ומגבלות של BigQuery כמו שאילתות ידניות.
למרות ששאילתות מתוזמנות משתמשות בתכונות של שירות העברת הנתונים ל-BigQuery, הן לא העברות ולא כפופות למכסת משימות הטעינה.
הזהות שמשמשת להרצת השאילתה קובעת אילו מכסות יחולו. זה תלוי בהגדרות של השאילתה המתוזמנת:
פרטי הכניסה של היוצר (ברירת מחדל): אם לא מציינים חשבון שירות, השאילתה המתוזמנת פועלת באמצעות פרטי הכניסה של המשתמש שיצר אותה. החיוב על משימת השאילתה מתבצע בפרויקט של היוצר, והיא כפופה למכסות של המשתמש ושל הפרויקט.
פרטי כניסה לחשבון שירות: אם מגדירים את השאילתה המתוזמנת לשימוש בחשבון שירות, היא פועלת באמצעות פרטי כניסה לחשבון השירות. במקרה כזה, הפרויקט שמכיל את השאילתה המתוזמנת עדיין מחויב על המשימה, אבל הביצוע כפוף למכסות של חשבון השירות שצוין.
תמחור
התמחור של שאילתות מתוזמנות זהה לתמחור של שאילתות ידניות ב-BigQuery.
אזורים נתמכים
אפשר להשתמש בשאילתות מתוזמנות במיקומים הבאים.
אזורים
בטבלה הבאה מפורטים האזורים ביבשת אמריקה שבהם BigQuery זמין.| תיאור האזור | שם האזור | פרטים |
|---|---|---|
| קולומבוס, אוהיו | us-east5 |
|
| דאלאס | us-south1 |
|
| אייווה | us-central1 |
|
| לוס אנג'לס | us-west2 |
|
| לאס וגאס | us-west4 |
|
| מקסיקו | northamerica-south1 |
|
| מונטריאול | northamerica-northeast1 |
|
| צפון וירג'יניה | us-east4 |
|
| אוקלהומה | us-central2 |
|
| אורגון | us-west1 |
|
| סולט לייק סיטי | us-west3 |
|
| סאו פאולו | southamerica-east1 |
|
| סנטיאגו | southamerica-west1 |
|
| דרום קרוליינה | us-east1 |
|
| טורונטו | northamerica-northeast2 |
|
| תיאור האזור | שם האזור | פרטים |
|---|---|---|
| בנגקוק | asia-southeast3 |
|
| דלהי | asia-south2 |
|
| הונג קונג | asia-east2 |
|
| ג'קארטה | asia-southeast2 |
|
| מלבורן | australia-southeast2 |
|
| מומבאי | asia-south1 |
|
| אוסקה | asia-northeast2 |
|
| סיאול | asia-northeast3 |
|
| סינגפור | asia-southeast1 |
|
| סידני | australia-southeast1 |
|
| טייוואן | asia-east1 |
|
| טוקיו | asia-northeast1 |
| תיאור האזור | שם האזור | פרטים |
|---|---|---|
| בלגיה | europe-west1 |
|
| ברלין | europe-west10 |
|
| פינלנד | europe-north1 |
|
| פרנקפורט | europe-west3 |
|
| לונדון | europe-west2 |
|
| מדריד | europe-southwest1 |
|
| מילאנו | europe-west8 |
|
| הולנד | europe-west4 |
|
| פריז | europe-west9 |
|
| שטוקהולם | europe-north2 |
|
| טורינו | europe-west12 |
|
| ורשה | europe-central2 |
|
| ציריך | europe-west6 |
|
| תיאור האזור | שם האזור | פרטים |
|---|---|---|
| דמאם | me-central2 |
|
| דוחה | me-central1 |
|
| תל אביב | me-west1 |
| תיאור האזור | שם האזור | פרטים |
|---|---|---|
| יוהנסבורג | africa-south1 |
במספר אזורים
בטבלה הבאה מפורטים האזורים שבהם BigQuery זמין. כשבוחרים כמה אזורים, מאפשרים ל-BigQuery לבחור אזור אחד מתוך כמה אזורים שבהם הנתונים מאוחסנים ומעובדים.| תיאור של המיקום "במספר אזורים" | השם של המיקום "במספר אזורים" |
|---|---|
| מרכזי נתונים במדינות החברות באיחוד האירופי1 | EU |
| מרכזי נתונים בארצות הברית2 | US |
1 נתונים שנמצאים במיקום "במספר אזורים" של EU מאוחסנים רק באחד מהמיקומים הבאים: europe-west1 (בלגיה) או europe-west4 (הולנד).
המיקום המדויק שבו הנתונים מאוחסנים ומעובדים נקבע באופן אוטומטי על ידי BigQuery.
2 נתונים שנמצאים במיקום 'במספר אזורים' של US מאוחסנים רק באחד מהמיקומים הבאים: us-central1 (איווה), us-west1 (אורגון) או us-central2 (אוקלהומה). המיקום המדויק שבו הנתונים מאוחסנים ומעובדים נקבע באופן אוטומטי על ידי BigQuery.
המאמרים הבאים
- במאמר יצירת קובצי snapshot של טבלאות באמצעות שאילתה מתוזמנת תוכלו למצוא דוגמה לשאילתה מתוזמנת שמשתמשת בחשבון שירות וכוללת את הפרמטרים
@run_dateו-@run_time.