ניהול משרות
ב-BigQuery, משימות הן פעולות אסינכרוניות שפועלות בשבילכם כדי לטעון, לייצא, להעתיק או לשלוח שאילתות על נתונים.
במאמר הזה מוסבר איך להציג פרטי משימות, להציג רשימה של משימות בפרויקט, לבטל משימות שפועלות, למחוק מטא-נתונים של משימות ולחזור על משימות שהושלמו.
כדי לעקוב אחרי משימות בארגון, לצבור אותן ולפתור בהן בעיות, קראו את המאמר מעקב אחרי משימות.
מידע על משימות ב-BigQuery
בכל פעם שטוענים, מייצאים, מריצים שאילתות או מעתיקים נתונים, BigQuery יוצר, מתזמן ומריץ באופן אוטומטי משימה שעוקבת אחרי התקדמות המשימה.
מכיוון שהשלמת משימות יכולה להימשך זמן רב, הן פועלות באופן אסינכרוני ואפשר לבדוק את הסטטוס שלהן. פעולות קצרות יותר, כמו הצגת רשימת משאבים או קבלת מטא-נתונים, לא מנוהלות כמשימות.
כשמגישים משימה, היא יכולה להיות באחד מהמצבים הבאים:
-
PENDING: המשימה מתוזמנת וממתינה להפעלה. -
RUNNING: המשימה מתבצעת. -
DONE: המשימה הסתיימה. אם המשימה נכשלה, יופיע השדה JobStatus.errorResult.
מכסות
למידע על מכסות של עבודות, קראו את מאמרי העזרה בנושא סוג העבודה בדף מכסות ומגבלות:
תמחור
כל משימה משויכת לפרויקט ספציפי שאתם מציינים. החשבון לחיוב שמקושר לפרויקט המשויך מחויב על כל שימוש שנוצר על ידי המשימה. אם אתם משתפים את הגישה לפרויקט, כל המשימות שמופעלות בפרויקט מחויבות גם בחשבון לחיוב.
לדוגמה, כשמריצים משימת שאילתה, העלות מחויבת בפרויקט שמריץ את המשימה. לכן, כשמציגים את מזהה המשימה של משימת שאילתה בפורמט <project_id>:<region>.<job_id>, הערך project_id הוא המזהה של הפרויקט שמחויב על השאילתה.
מידע נוסף זמין במאמר תמחור.
לפני שמתחילים
להקצות תפקידים של ניהול זהויות והרשאות גישה (IAM) שנותנים למשתמשים את ההרשאות שנדרשות כדי לבצע כל משימה שמופיעה במסמך הזה.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להפעלה ולניהול של משימות, בקשו מהאדמין להקצות לכם את התפקידים הבאים ב-IAM בפרויקט:
- שימוש במשימות BigQuery (
roles/bigquery.jobUser) – כדי להריץ או לחזור על משימה, להציג את רשימת המשימות, לראות את פרטי המשימות ולבטל משימות. - משתמש BigQuery (
roles/bigquery.user) – כדי להריץ או לחזור על משימה, להציג את רשימת המשימות, להציג את פרטי המשימות ולבטל את המשימות (התפקיד הזה נותן יותר הרשאות מאשר התפקיד "שימוש במשימות BigQuery"). - אדמין של משאבי BigQuery (
roles/bigquery.resourceAdmin) – כדי להציג את כל המשימות ולאחזר מטא-נתונים של כל משימה. - אדמין ב-BigQuery (
roles/bigquery.admin) – כדי להציג את כל המשימות, לאחזר מטא-נתונים של כל משימה ולבטל כל משימה.
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות כדי להריץ ולנהל משימות. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להריץ ולנהל משימות, נדרשות ההרשאות הבאות:
-
bigquery.jobs.createבפרויקט כדי להריץ או לחזור על משימה ולהציג את רשימת המשימות. -
bigquery.jobs.getבפרויקט כדי לראות את המטא-נתונים של כל משימה. -
bigquery.jobs.updateבפרויקט כדי לבטל משימה כלשהי. -
bigquery.jobs.listAllבארגון, בתיקייה או בפרויקט כדי להציג את כל המשימות ולאחזר מטא-נתונים של כל משימה שנשלחה על ידי משתמש כלשהו. כדי לראות את הפרטים של כל המשימות, צריך גם את ההרשאהbigquery.jobs.list. -
bigquery.jobs.listבפרויקט כדי להציג את כל המשימות ולאחזר מטא-נתונים של כל משימה שנשלחה על ידי כל משתמש. במשימות שנשלחו על ידי משתמשים אחרים, הפרטים והמטא-נתונים מצונזרים. -
bigquery.jobs.listExecutionMetadataבארגון כדי להציג את כל המטא-נתונים של ביצוע המשימות (ללא מידע רגיש) לכל משימה שנשלחה על ידי כל משתמש. -
bigquery.jobs.updateבפרויקט כדי לבטל משימה כלשהי. -
bigquery.jobs.deleteבפרויקט כדי למחוק כל משימה.
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
במאמר תפקידים והרשאות מוגדרים מראש תוכלו לקרוא מידע נוסף על תפקידים והרשאות של IAM ב-BigQuery.
צפייה בפרטי המשרה
אפשר לראות את פרטי המשימה באמצעות מסוף Google Cloud , כלי שורת הפקודה של BigQuery, ה-API או ספריות הלקוח. הפרטים כוללים נתונים ומטא-נתונים, כמו סוג העבודה, מצב המשימה והמשתמש שיצר את המשימה.
כדי לראות את פרטי המשימה:
המסוף
נכנסים לדף BigQuery.
בחלונית הימנית, לוחצים על Explorer:

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית 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 במדריך למתחילים של 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:

בחלונית Explorer, לוחצים על Job history.
כדי להציג את כל המשימות בפרויקט, לוחצים על Project history. אם אינכם ה-Project Owner, ייתכן שאין לכם הרשאה להציג את כל המשימות בפרויקט. המשימות האחרונות מופיעות ראשונות.
כדי להוסיף את המשרות שלכם, לוחצים על היסטוריה אישית.
BQ
מריצים את הפקודה bq ls עם אחד מהדגלים הבאים:
-
--jobs=trueאו-j: מזהה את המשימות כסוג המשאב שרוצים להציג ברשימה. -
--all=trueאו-a: מציג את המשימות של כל המשתמשים. כדי לראות את הפרטים המלאים (ללא צנזור) של כל המשימות, צריך הרשאות שלbigquery.jobs.listAll. -
--min_creation_time: מציג את המשימות שנוצרו אחרי ערך חותמת הזמן שצוין. הערך הזה מיוצג כחותמת זמן של ראשית זמן יוניקס (Unix epoch) באלפיות השנייה. -
--max_creation_time: הצגת רשימה של משימות לפני ערך חותמת הזמן שסופק. הערך הזה מיוצג כחותמת זמן של ראשית זמן יוניקס (Unix epoch) באלפיות השנייה. --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
מפעילים את ה-method jobs.list ומספקים את הפרמטר projectId. כדי להציג את המשימות של כל המשתמשים, מגדירים את הפרמטר allUsers לערך true. כדי להגדיר את allUsers ל-true נדרשות הרשאות bigquery.jobs.listAll. ה-method jobs.list לא מחזירה משימות צאצא. כדי להציג רשימה של משימות צאצא, משתמשים בתצוגה INFORMATION_SCHEMA.JOBS.
המשך
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של 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 במדריך למתחילים של 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:

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

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