ניהול משרות
במאמר הזה מוסבר איך לנהל משימות ב-BigQuery, כולל איך לצפות בפרטי המשימה, לרשום משימות, לבטל משימה, לחזור על משימה ולמחוק מטא-נתונים של משימה.
מידע על משימות ב-BigQuery
בכל פעם שטוענים, מייצאים, מריצים שאילתה או מעתיקים נתונים, BigQuery יוצר, מתזמן ומריץ באופן אוטומטי משימה שעוקבת אחרי התקדמות הפעולה.
יכול להיות שיעבור הרבה זמן עד שהמשימות יסתיימו, לכן הן מורצות באופן אסינכרוני ואפשר לבדוק את הסטטוס שלהן. פעולות קצרות יותר, כמו הצגת רשימת משאבים או קבלת מטא-נתונים, לא מנוהלות כמשימות.
כששולחים עבודה, היא יכולה להיות באחד מהמצבים הבאים:
-
PENDING: המשימה מתוזמנת וממתינה להרצה. -
RUNNING: המשימה מתבצעת. -
DONE: המשימה הושלמה. אם המשימה נכשלה, הערך JobStatus.errorResult יהיה נוכח.
מכסות
מידע על מכסות של משימות מופיע במסמכי העזרה של סוג העבודה בדף מכסות ומגבלות:
תמחור
כל משימה משויכת לפרויקט ספציפי שאתם מציינים. החשבון לחיוב שמצורף לפרויקט המשויך מחויב על כל שימוש שנוצר על ידי העבודה. אם משתפים גישה לפרויקט, כל העבודות שמופעלות בפרויקט מחויבות גם הן בחשבון לחיוב.
לדוגמה, כשמריצים עבודת שאילתה, העלות מחויבת בפרויקט שבו מריצים את העבודה. לכן, כשמציגים את מזהה העבודה של עבודת שאילתה בפורמט <project_id>:<region>.<job_id>, project_id הוא מזהה הפרויקט שחויב על השאילתה.
מידע נוסף מפורט בקטע תמחור.
לפני שמתחילים
צריך להקצות תפקידים בניהול הזהויות והרשאות הגישה (IAM) שנותנים למשתמשים את ההרשאות הנדרשות לביצוע כל משימה שמופיעה במאמר הזה.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות להרצה ולניהול של משימות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
-
BigQuery Job User (
roles/bigquery.jobUser) – כדי להריץ או לחזור על משימה, לרשום את המשימות, להציג את פרטי המשימות ולבטל את המשימות. -
משתמש BigQuery (
roles/bigquery.user) – כדי להריץ או לחזור על משימה, לראות רשימה של המשימות, לראות את הפרטים של המשימות ולבטל את המשימות (ההרשאות בתפקיד הזה רחבות יותר מאלה של BigQuery Job User). -
BigQuery Resource Admin (
roles/bigquery.resourceAdmin) - to list all jobs and retrieve metadata on any job. -
BigQuery Admin (
roles/bigquery.admin) – כדי לרשום את כל המשימות, לאחזר מטא-נתונים על כל משימה ולבטל כל משימה.
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות להרצה ולניהול של משימות. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להריץ משימות ולנהל אותן, נדרשות ההרשאות הבאות:
-
בפרויקט כדי להריץ או לחזור על משימה ולראות את רשימת המשימות.bigquery.jobs.create -
בפרויקט כדי לראות את המטא-נתונים של משימה כלשהי.bigquery.jobs.get -
בפרויקט כדי לבטל את המשימה.bigquery.jobs.update -
בארגון, בתיקייה או בפרויקט כדי להציג רשימה של כל המשימות ולאחזר מטא-נתונים של כל משימה שנשלחה על ידי משתמש כלשהו. כדי לראות את הפרטים של כל המשימות, נדרשת גם ההרשאהbigquery.jobs.listAllbigquery.jobs.list. -
בפרויקט כדי להציג את כל העבודות ולאחזר מטא-נתונים על כל עבודה שנשלחה על ידי משתמש כלשהו. במקרים של משימות שנשלחו על ידי משתמשים אחרים, הפרטים והמטא-נתונים מצונזרים.bigquery.jobs.list -
בארגון כדי להציג רשימה של כל המטא-נתונים של ביצוע המשימות (ללא מידע רגיש) לכל משימה שנשלחה על ידי משתמש כלשהו.bigquery.jobs.listExecutionMetadata -
בפרויקט כדי לבטל את המשימה.bigquery.jobs.update -
בפרויקט כדי למחוק משימה.bigquery.jobs.delete
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
במאמר תפקידים והרשאות מוגדרים מראש יש מידע נוסף על תפקידים והרשאות ב-IAM ב-BigQuery.
צפייה בפרטי המשרה
אפשר לראות את פרטי העבודה באמצעות מסוף Google Cloud , כלי שורת הפקודה של BigQuery, ה-API או ספריות הלקוח. הפרטים כוללים נתונים ומטא-נתונים, כמו סוג העבודה, מצב העבודה והמשתמש שיצר את העבודה.
כדי לראות את פרטי המשרה, פועלים לפי השלבים הבאים:
המסוף
עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על כלי הניתוחים:

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer לוחצים על Job history.
בוחרים את סוג היסטוריית המשרות שרוצים לראות:
- כדי להציג מידע על העבודות האחרונות, לוחצים על היסטוריה אישית.
- כדי להציג מידע על משימות שבוצעו לאחרונה בפרויקט, לוחצים על Project history (היסטוריית הפרויקט).
כדי לראות את פרטי המשימה, לוחצים על המשימה.
BQ
מריצים את הפקודה bq show עם הדגל --job=true ומזהה של משימה.
כשמספקים את מזהה המשימה, אפשר להשתמש במזהה המוגדר במלואו או בטופס הקצר. לדוגמה, מזהי המשרות שמופיעים במסוף Google Cloud הם מזהים מלאים, כלומר הם כוללים את הפרויקט והמיקום:
my-project-1234:US.bquijob_123x456_123y123z123c
מזהי משימות בכלי שורת הפקודה מופיעים בפורמט קצר. מזהה הפרויקט והמיקום לא נכללים:
bquijob_123x456_123y123z123c
כדי לציין את מיקום העבודה, צריך להוסיף את הדגל --location ולהגדיר את הערך למיקום. הדגל הזה הוא אופציונלי אם משתמשים במזהה המשרה המלא. אם כוללים את הדגל --location ומשתמשים במזהה המשימה המוגדר במלואו, המערכת מתעלמת מהדגל --location.
הפקודה הבאה מבקשת מידע על משרה:
bq --location=LOCATION show --job=true JOB_ID
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION: השם של המיקום שבו המשימה פועלת. לדוגמה, אם אתם משתמשים ב-BigQuery באזור טוקיו, צריך להגדיר את הערך של הדגל ל-asia-northeast1. אפשר להגדיר ערך ברירת מחדל למיקום באמצעות הקובץ.bigqueryrc. אם המיקום לא מצוין כחלק ממזהה המשרה או באמצעות הדגל--location, המיקום שמוגדר כברירת מחדל ישמש את המערכת. -
JOB_ID: מזהה המשרה
דוגמאות
הפקודה הבאה מקבלת סיכום מידע על המשימה US.bquijob_123x456_123y123z123c שפועלת ב-myproject:
bq show --job=true myproject:US.bquijob_123x456_123y123z123c
הפלט אמור להיראות כך:
Job Type State Start Time Duration User Email Bytes Processed Bytes Billed Billing Tier Labels ---------- --------- ----------------- ---------- ------------------- ----------------- -------------- -------------- -------- extract SUCCESS 06 Jul 11:32:10 0:01:41 user@example.com
כדי לראות את פרטי המשרה המלאים, מזינים את הפרטים הבאים:
bq show --format=prettyjson --job=true myproject:US.bquijob_123x456_789y123z456c
הפלט אמור להיראות כך:
{
"configuration": {
"extract": {
"compression": "NONE",
"destinationUri": "[URI removed]",
"destinationUris": [
"[URI removed]"
],
"sourceTable": {
"datasetId": "github_repos",
"projectId": "bigquery-public-data",
"tableId": "commits"
}
}
},
"etag": "\"[etag removed]\"",
"id": "myproject:bquijob_123x456_789y123z456c",
"jobReference": {
"jobId": "bquijob_123x456_789y123z456c",
"projectId": "[Project ID removed]"
},
"kind": "bigquery#job",
"selfLink": "https://bigquery.googleapis.com/bigquery/v2/projects/federated-testing/jobs/bquijob_123x456_789y123z456c",
"statistics": {
"creationTime": "1499365894527",
"endTime": "1499365894702",
"startTime": "1499365894702"
},
"status": {
"errorResult": {
"debugInfo": "[Information removed for readability]",
"message": "Operation cannot be performed on a nested schema. Field: author",
"reason": "invalid"
},
"errors": [
{
"message": "Operation cannot be performed on a nested schema. Field: author",
"reason": "invalid"
}
],
"state": "DONE"
},
"user_email": "user@example.com"
}
API
מבצעים קריאה ל-jobs.get ומספקים את הפרמטרים jobId ו-projectId. (אופציונלי) מציינים את הפרמטר location ומגדירים את הערך למיקום שבו מופעלת העבודה. הפרמטר הזה הוא אופציונלי אם משתמשים במזהה משרה מלא שכולל את המיקום, למשל, my-project-1234:US.bquijob_123x456_123y123z123c.
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Go API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Node.js API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
אם אתם צריכים מידע נוסף כדי לפתור בעיה בעבודה, תוכלו לעיין בINFORMATION_SCHEMA.JOBS*תצוגות וביומנים.
פרסום משרות
BigQuery שומר היסטוריית משימות של שישה חודשים לכל המשימות של פרויקט, בכל המיקומים. היסטוריית המשרות כוללת משרות במצב RUNNING ומשרות במצב DONE (שמצוין על ידי דיווח על המצב כ-SUCCESS או כ-FAILURE).
כדי להציג את רשימת המשרות בפרויקט:
המסוף
עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על כלי הניתוחים:

בחלונית Explorer לוחצים על Job history.
כדי להציג ברשימה את כל העבודות בפרויקט, לוחצים על Project history (היסטוריית הפרויקט). אם אתם לא בעלי הפרויקט, יכול להיות שאין לכם הרשאה לראות את כל המשימות בפרויקט. המשרות האחרונות מופיעות ראשונות.
כדי להוסיף את המשרות שלכם, לוחצים על היסטוריה אישית.
BQ
מריצים את הפקודה bq ls עם אחד מהדגלים הבאים:
-
--jobs=trueאו-j: מזהה משימות כסוג המשאב שרוצים להציג. -
--all=trueאו-a: רשימת משימות מכל המשתמשים. כדי לראות את הפרטים המלאים (לא מצונזרים) של כל המשימות, צריך הרשאותbigquery.jobs.listAll. --min_creation_time: מציג רשימה של משימות אחרי ערך חותמת זמן שסופק. הערך הזה מיוצג כחותמת זמן של ראשית זמן יוניקס באלפיות השנייה.-
--max_creation_time: מציג רשימה של משימות לפני ערך חותמת זמן שסופק. הערך הזה מיוצג כחותמת זמן של ראשית זמן יוניקס באלפיות השנייה. - הגבלת התוצאות באמצעות
--max_resultsאו-n. ברירת המחדל היא 50 תוצאות.
bq ls --jobs=true --all=true \ --min_creation_time=MIN_TIME \ --max_creation_time=MAX_TIME \ --max_results=MAX_RESULTS \ PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
MIN_TIME: מספר שלם שמייצג חותמת זמן של Unix epoch באלפיות השנייה. -
MAX_TIME: מספר שלם שמייצג חותמת זמן של Unix epoch באלפיות השנייה. -
MAX_RESULTS: מספר שלם שמציין את מספר המשימות שמוחזרות. -
PROJECT_ID: מזהה הפרויקט שמכיל את המשימות שאתם מציגים. אם מגדירים פרויקט ברירת מחדל, לא צריך לציין את הפרמטרPROJECT_ID.
דוגמאות
הפקודה הבאה מציגה רשימה של כל המשימות של המשתמש הנוכחי. כדי להריץ את הפקודה הזו נדרשות הרשאות bigquery.jobs.list.
bq ls --jobs=true myproject
הפקודה הבאה מציגה רשימה של כל המשימות של כל המשתמשים. כדי להריץ את הפקודה הזו נדרשות הרשאות bigquery.jobs.listAll.
bq ls --jobs=true --all=true myproject
הפקודה הבאה מציגה רשימה של 10 המשימות האחרונות ב-myproject:
bq ls --jobs=true --all=true --max_results=10 myproject
הפקודה הבאה מפרטת את כל המשימות שנשלחו לפני 3 במרץ 2032 בשעה 4:04:00. חותמת הזמן הזו (באלפיות השנייה) שווה לערך המספרי הבא: 1961899440000.
bq ls --jobs=true --max_creation_time=1961899440000
API
מבצעים קריאה ל-jobs.list ומספקים את הפרמטר projectId. כדי להציג רשימה של משרות לכל המשתמשים, מגדירים את הפרמטר allUsers
לערך true. כדי להגדיר את allUsers ל-true נדרשות הרשאות bigquery.jobs.listAll. השיטה jobs.list לא מחזירה משימות צאצא. כדי לראות את רשימת העבודות המשניות, משתמשים בתצוגה INFORMATION_SCHEMA.JOBS.
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Go API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Node.js API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
ביטול משימה
אפשר לבטל עבודות של RUNNING או PENDING.
ביטול משימה בדרך כלל נמשך פחות מדקה.
גם אם אפשר לבטל את העבודה, אין ערובה להצלחה. יכול להיות שהעבודה הסתיימה עד שהבקשה לביטול נשלחת, או שהעבודה נמצאת בשלב שבו אי אפשר לבטל אותה.
כדי לבטל עבודה, מבצעים את השלבים הבאים:
המסוף
עוברים לדף BigQuery.
לוחצים על Compose new query (כתיבת שאילתה חדשה) ומזינים שאילתה.
כדי להריץ את השאילתה, לוחצים על Run.
כדי לבטל את העבודה, לוחצים על ביטול.
SQL
משתמשים בהליך המערכת BQ.JOBS.CANCEL:
CALL BQ.JOBS.CANCEL('JOB_ID');מחליפים את JOB_ID במזהה של המשימה שרוצים לבטל.
אם אתם נמצאים בפרויקט אחר אבל באותו אזור שבו נמצאת המשימה שאתם רוצים לבטל, אתם צריכים לכלול גם את מזהה הפרויקט:
CALL BQ.JOBS.CANCEL('PROJECT_ID.JOB_ID');מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שמכיל את העבודה שרוצים לבטל -
JOB_ID: המזהה של העבודה שרוצים לבטל
הפרוצדורה מחזירה ערך באופן מיידי, ו-BigQuery מבטל את העבודה זמן קצר לאחר מכן. אם העבודה כבר הסתיימה בהצלחה או נכשלה, אין השפעה להליך.
BQ
מריצים את הפקודה bq cancel עם הארגומנט JOB_ID. אפשר לבקש ביטול והחזרה מיידית באמצעות סימון בדגל --nosync=true. כברירת מחדל, בקשות לביטול ממתינות לסיום.
כשמספקים את הארגומנט JOB_ID, אפשר להשתמש במזהה המוגדר במלואו או בטופס המקוצר. לדוגמה, מזהי המשרות שמופיעים במסוף Google Cloud הם מזהים מלאים, כלומר הם כוללים את הפרויקט והמיקום:
my-project-1234:US.bquijob_123x456_123y123z123c
מזהי העבודות בכלי שורת הפקודה של BigQuery מופיעים בפורמט הקצר. מזהה הפרויקט והמיקום לא נכללים:
bquijob_123x456_123y123z123c
כדי לציין את מיקום העבודה, צריך להוסיף את הדגל --location ולהגדיר את הערך למיקום. הדגל הזה הוא אופציונלי אם משתמשים במזהה המשרה המלא. אם כוללים את הדגל --location ומשתמשים במזהה המשימה המוגדר במלואו, המערכת מתעלמת מהדגל --location.
הפקודה הבאה מבקשת לבטל את העבודה וממתינה להשלמת הביטול. אם מספקים את מזהה המשימה המוגדר במלואו, המערכת מתעלמת מהדגל --location:
bq --location=LOCATION cancel JOB_ID
הפקודה הבאה מבקשת לבטל את העבודה ומוחזרת באופן מיידי. אם מספקים את מזהה המשימה המוגדר במלואו, המערכת מתעלמת מהדגל --location:
bq --location=LOCATION --nosync cancel JOB_ID
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION(אופציונלי): שם המיקום שבו המשימה פועלת. לדוגמה, אם אתם משתמשים ב-BigQuery באזור טוקיו, צריך להגדיר את הערך של הדגל ל-asia-northeast1. אפשר להגדיר ערך ברירת מחדל למיקום באמצעות הקובץ.bigqueryrc. -
JOB_ID: המזהה של העבודה שרוצים לבטל. אם מעתיקים את מזהה העבודה ממסוף Google Cloud , מזהה הפרויקט והמיקום נכללים במזהה העבודה. לדוגמה:my-project-1234:US.bquijob_123x456_123y123z123c.
דוגמאות
הפקודה הבאה מבטלת את העבודה my-project-1234:US.bquijob_123x456_123y123z123c שפועלת במיקום US מרובה האזורים בפרויקט my-project-1234, וממתינה לסיום. מכיוון שנעשה שימוש במזהה המשימה המוגדר במלואו, לא מסופק דגל המיקום.
bq cancel my-project-1234:US.bquijob_123x456_123y123z123c
הפקודה הבאה מבטלת את העבודה bquijob_123x456_123y123z123c שפועלת במיקום US מרובה האזורים בפרויקט my-project-1234 וממתינה לסיום. מכיוון שנעשה שימוש בטופס הקצר של מזהה המשרה, מצורף הדגל --location.
bq --location=US cancel bquijob_123x456_123y123z123c
הפקודה הבאה מבטלת את העבודה bquijob_123x456_123y123z123c שפועלת במיקום US מרובה האזורים בפרויקט my-project-1234, ומוחזרת באופן מיידי.
מכיוון שמשתמשים במזהה המשימה המוגדר במלואו, לא מציינים את הדגל --location.
bq --nosync cancel my-project-1234:US.bquijob_123x456_123y123z123c
API
מתקשרים אל jobs.cancel ומספקים את הפרמטרים jobId ו-projectId. מספקים את location
הפרמטר ומגדירים את הערך למיקום
שבו המשרה מתנהלת.
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Go API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Node.js API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
מחיקת מטא-נתונים של משרות
אפשר למחוק את המטא-נתונים של עבודה ספציפית באמצעות כלי שורת הפקודה של BigQuery וספריית הלקוח של Python. ב-BigQuery נשמרת היסטוריה של משימות שהופעלו ב-6 החודשים האחרונים. אפשר להשתמש בשיטה הזו כדי להסיר מידע רגיש שעשוי להופיע בהצהרות של שאילתות. אפשר למחוק מטא-נתונים של משימות רק אחרי שהמשימה מסתיימת. אם משימה יצרה משימות צאצא, גם משימות הצאצא נמחקות. אי אפשר למחוק משרות של ילדים. אפשר למחוק רק משימות אב או משימות ברמה העליונה.
כדי למחוק מטא-נתונים של משרה, פועלים לפי השלבים הבאים:
BQ
מריצים את הפקודה bq rm עם הדגל -j ומזהה של משימה.
כשמספקים את מזהה המשימה, אפשר להשתמש במזהה המוגדר במלואו או בטופס הקצר. לדוגמה, מזהי המשרות שמופיעים במסוף Google Cloud הם מזהים מלאים, כלומר הם כוללים את הפרויקט והמיקום:
my-project-1234:US.bquijob_123x456_123y123z123c
מזהי העבודות בכלי שורת הפקודה של BigQuery מופיעים בפורמט הקצר. מזהה הפרויקט והמיקום לא נכללים:
bquijob_123x456_123y123z123c
כדי לציין את מיקום העבודה, צריך להוסיף את הדגל --location ולהגדיר את הערך למיקום. הדגל הזה הוא אופציונלי אם משתמשים במזהה המשרה המלא. אם כוללים את הדגל --location ומשתמשים במזהה המשימה המוגדר במלואו, המערכת מתעלמת מהדגל --location.
הפקודה הבאה מוחקת עבודה:
bq --location=location \ --project_id=project_id \ rm -j job_id
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
משרות חוזרות
אי אפשר להפעיל מחדש את אותו ג'וב באמצעות אותו מזהה ג'וב. במקום זאת, יוצרים משימה חדשה עם אותה הגדרה. כששולחים את המשימה החדשה במסוףGoogle Cloud או בכלי שורת הפקודה של BigQuery, מוקצה מזהה משימה חדש. כששולחים את העבודה באמצעות ה-API או ספריות הלקוח, צריך ליצור מזהה עבודה חדש.
כדי להפעיל מחדש עבודה:
המסוף
כדי להריץ מחדש שאילתת עבודה, פועלים לפי השלבים הבאים:
עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על כלי הניתוחים:

בחלונית Explorer לוחצים על Job history.
כדי לראות את כל המשרות, לוחצים על היסטוריה אישית. כדי להציג ברשימה את כל המשימות בפרויקט, לוחצים על Project history (היסטוריית הפרויקט).
לוחצים על שאילתה כדי לפתוח את פרטי העבודה.
כדי להריץ שאילתה שוב, לוחצים על פתיחה כשאילתה חדשה.
לוחצים על Run.
כדי להריץ מחדש עבודת טעינה:
עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על כלי הניתוחים:

בחלונית Explorer לוחצים על Job history.
כדי לראות את כל המשרות, לוחצים על היסטוריה אישית. כדי להציג ברשימה את כל המשימות בפרויקט, לוחצים על Project history (היסטוריית הפרויקט).
כדי לפתוח את פרטי העבודה, לוחצים על עבודת טעינה.
כדי להפעיל מחדש את העבודה, לוחצים על הפעלת עבודת טעינה חוזרת.
BQ
מריצים שוב את הפקודה ו-BigQuery יוצר באופן אוטומטי משימה עם מזהה משימה חדש.
API
אין שיטה להפעלת משימה חוזרת באמצעות קריאה אחת בלבד. אם רוצים להפעיל משימה ספציפית באופן חוזר:
מתקשרים אל
jobs.getכדי לאחזר את המשאב של המשימה שרוצים לחזור עליה.מסירים את השדות id, status ו-statistics. משנים את השדה jobId לערך חדש שנוצר על ידי קוד הלקוח. משנים שדות אחרים לפי הצורך.
מתקשרים אל
jobs.insertעם המשאב ששונה ומזהה העבודה החדש כדי להתחיל את העבודה החדשה.