הפניה לכלי שורת הפקודה של BigQuery
במאמר הזה מוסבר על התחביר, הפקודות, האפשרויות והארגומנטים של bq, כלי שורת הפקודה מבוסס Python ל-BigQuery.
מדריך לשימוש בכלי שורת הפקודה של BigQuery זמין במאמר טעינה של נתונים וביצוע שאילתות באמצעות הכלי bq.
דרכים לשימוש בכלי שורת הפקודה של BigQuery
אפשר להזין פקודות של כלי שורת הפקודה של BigQuery ב-Cloud Shell, דרך מסוף Google Cloud או דרך התקנה מקומית של Google Cloud CLI.
כדי להשתמש בכלי שורת הפקודה של BigQuery במסוף Google Cloud , צריך להפעיל את Cloud Shell:
כדי להשתמש בכלי שורת הפקודה של BigQuery באופן מקומי, צריך להתקין ולהגדיר את ה-CLI של gcloud. כדי לשמור על עדכניות ההתקנה, אפשר לעיין במאמר ניהול התקנה במסמכי העזרה של ה-CLI של gcloud.
פורמט הפקודה
כלי שורת הפקודה של BigQuery משתמש בפורמט הבא:
bq COMMAND [FLAGS] [ARGUMENTS]
אפשר להשתמש בדגלים מסוימים עם כמה פקודות של כלי שורת הפקודה של BigQuery. הדגלים האלה מתוארים בקטע דגלים גלובליים.
דגלים אחרים הם ספציפיים לפקודה, ואפשר להשתמש בהם רק עם פקודה מסוימת של כלי שורת הפקודה של BigQuery. הדגלים הספציפיים לפקודה מתוארים בקטעי הפקודה.
ציון ערכים לדגלים
כשמציינים ערך לדגל, סימן השוויון (=) הוא אופציונלי. לדוגמה, שתי הפקודות הבאות שקולות:
bq ls --format prettyjson myDataset bq ls --format=prettyjson myDataset
במסמך הזה אנחנו משתמשים בסימן השוויון לשם הבהרה.
חלק מהדגלים בכלי שורת הפקודה של BigQuery הם בוליאניים. אפשר להגדיר את הערך של הדגל ל-true או ל-false.
כלי שורת הפקודה של BigQuery מקבל את הפורמטים הבאים להגדרת דגלים בוליאניים.
| ערך | פורמט | דוגמה |
|---|---|---|
true |
--FLAGNAME=true |
--debug_mode=true |
true |
--FLAGNAME |
--debug_mode |
false |
--FLAGNAME=false |
--debug_mode=false |
false |
--noFLAGNAME |
--nodebug_mode |
במסמך הזה אנחנו משתמשים בפורמט --FLAGNAME=VALUE
לסימון דגלים בוליאניים.
כל הדגלים הבוליאניים הם אופציונליים. אם דגל בוליאני לא מופיע, BigQuery משתמש בערך ברירת המחדל של הדגל.
ציון משאבי BigQuery בארגומנטים
הפורמט לציון משאב תלוי בהקשר. במקרים מסוימים, המפריד בין הפרויקט למערך הנתונים הוא נקודתיים (:), ובמקרים אחרים הוא נקודה (.). בטבלה הבאה מוסבר איך לציין טבלה ב-BigQuery בהקשרים שונים.
| הקשר | פורמט | דוגמה |
|---|---|---|
| כלי שורת הפקודה של BigQuery | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
| שאילתת GoogleSQL | PROJECT.DATASET.TABLE |
myProject.myDataset.myTable |
| שאילתת SQL מדור קודם | PROJECT:DATASET.TABLE |
myProject:myDataset.myTable |
אם לא מציינים פרויקט, BigQuery משתמש בפרויקט הנוכחי. לדוגמה, אם הפרויקט הנוכחי הוא myProject, אז BigQuery מפרש את myDataset.myTable כ-myProject:myDataset.myTable (או כ-myProject.myDataset.myTable).
חלק ממזהי המשאבים צריכים להיות מוקפים במירכאות באמצעות גרש הפוך (`).
אם מזהה המשאב מתחיל באות או בקו תחתון, ומכיל רק אותיות, מספרים וקווים תחתונים, לא צריך להוסיף לו מירכאות. עם זאת, אם מזהה המשאב מכיל סוגים אחרים של תווים או מילות מפתח שמורות, צריך להקיף את המזהה (או את החלק במזהה שמכיל את התווים המיוחדים או מילות המפתח השמורות) בגרשיים הפוכים. מידע נוסף זמין במאמר בנושא מזהים.
איך מריצים פקודות
ממקמים את הדגלים הגלובליים לפני הפקודה bq, ואז כוללים דגלים ספציפיים לפקודה. אפשר לכלול כמה דגלים גלובליים או דגלים ספציפיים לפקודה. לדוגמה:
bq --location=us mk --reservation --project_id=project reservation_name
אפשר לציין את ארגומנטי הפקודה בדרכים הבאות:
--FLAG ARGUMENT(כמו בדוגמאות הקודמות)--FLAG=ARGUMENT--FLAG='ARGUMENT'--FLAG="ARGUMENT"--FLAG 'ARGUMENT'--FLAG "ARGUMENT"
מחליפים את מה שכתוב בשדות הבאים:
-
FLAG: דגל גלובלי או דגל שספציפי לפקודה -
ARGUMENT: הארגומנט של הדגל
חלק מהפקודות דורשות שימוש במירכאות סביב הארגומנטים. אם נדרשים גרשיים, אפשר להשתמש בגרשיים בודדים או כפולים. ארגומנטים שצריך להוסיף להם מרכאות הם בדרך כלל ערכים שמכילים רווחים, פסיקים או תווים מיוחדים אחרים. אם הארגומנט מכיל משאב BigQuery, הקפידו לפעול לפי הכללים לציון שמות של משאבים בפקודות.
בדוגמה הזו מוצג איך להריץ שאילתת GoogleSQL בשורת הפקודה:
bq query --nouse_legacy_sql \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
אפשר לציין דגלים עם ערכים בוליאניים בלי ארגומנט. אם מציינים את הערך true או false, צריך להשתמש בפורמט FLAG=ARGUMENT.
לדוגמה, הפקודה הזו מציינת את הערך false לדגל הבוליאני --use_legacy_sql על ידי הצבת no לפני הדגל:
bq query --nouse_legacy_sql \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
לחלופין, כדי לציין את false כארגומנט של הדגל, אפשר להזין את הפקודה הבאה:
bq query --use_legacy_sql=false \ 'SELECT COUNT(*) FROM `bigquery-public-data`.samples.shakespeare'
הרצת פקודות בסקריפט
אפשר להריץ את כלי שורת הפקודה של BigQuery בסקריפט, כמו שמריצים פקודה של Google Cloud CLI. בדוגמה הבאה מוצגות פקודות gcloud ו-bq בסקריפט bash:
#!/bin/bash
gcloud config set project myProject
bq query --use_legacy_sql=false --destination_table=myDataset.myTable \
'SELECT
word,
SUM(word_count) AS count
FROM
`bigquery-public-data`.samples.shakespeare
WHERE
word LIKE "%raisin%"
GROUP BY
word'
שימוש בחשבון שירות
אתם יכולים להשתמש בחשבון שירות כדי לבצע קריאות מורשות ל-API או להריץ משימות של שאילתות בשמכם. כדי להשתמש בחשבון שירות בכלי שורת הפקודה של BigQuery, צריך לתת לחשבון השירות הרשאת גישה ל- Google Cloud . למידע נוסף, ראו gcloud auth activate-service-account.
כדי להתחיל להריץ פקודות של bq באמצעות התחזות לחשבון שירות, מריצים את הפקודה הבאה:
gcloud config set auth/impersonate_service_account SERVICE_ACCOUNT_NAME
מחליפים את SERVICE_ACCOUNT_NAME בשם של חשבון השירות.
פקודות bq שמריצים עכשיו משתמשות בפרטי הכניסה של חשבון השירות.
כדי להפסיק להריץ פקודות bq מחשבון שירות, מריצים את הפקודה הבאה:
gcloud config unset auth/impersonate_service_account
הגדרת ערכי ברירת מחדל לתכונות ניסיוניות של שורת הפקודה
אפשר להגדיר ערכי ברירת מחדל לסימון שורת הפקודה על ידי הכללתם בקובץ התצורה של כלי שורת הפקודה bq, .bigqueryrc. לפני שמגדירים את אפשרויות ברירת המחדל, צריך ליצור קובץ .bigqueryrc. אפשר להשתמש בעורך הטקסט המועדף כדי ליצור את הקובץ. אחרי שיוצרים את הקובץ .bigqueryrc, אפשר לציין את הנתיב לקובץ באמצעות הדגל הגלובלי --bigqueryrc.
אם לא מציינים את הדגל --bigqueryrc, נעשה שימוש במשתנה הסביבה BIGQUERYRC. אם לא מציינים נתיב, המערכת משתמשת בנתיב ~/.bigqueryrc. נתיב ברירת המחדל הוא $HOME/.bigqueryrc.
איך מוסיפים דגלים ל-.bigqueryrc
כדי להוסיף ערכי ברירת מחדל לדגלים של שורת הפקודה אל .bigqueryrc:
- ממקמים דגלים גלובליים בחלק העליון של הקובץ בלי כותרת.
- לגבי דגלים ספציפיים לפקודה, מזינים את שם הפקודה (בסוגריים) ומוסיפים את הדגלים הספציפיים לפקודה (אחד בכל שורה) אחרי שם הפקודה.
לדוגמה:
--apilog=stdout --format=prettyjson --location=US [query] --use_legacy_sql=false --max_rows=100 --maximum_bytes_billed=10000000 [load] --destination_kms_key=projects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey
בדוגמה שלמעלה מוגדרים ערכי ברירת מחדל לדגלים הבאים:
- הדגל הגלובלי
--apilogמוגדר לערךstdoutכדי להדפיס את פלט ניפוי הבאגים במסוףGoogle Cloud . - הדגל הגלובלי
--formatמוגדר ל-prettyjsonכדי להציג את פלט הפקודה בפורמט JSON שקריא לאנשים. - הדגל הגלובלי
--locationמוגדר למיקום במספר אזוריםUS. הדגל
queryהספציפי לפקודה--use_legacy_sqlמוגדר לערךfalseכדי להגדיר את תחביר השאילתות של GoogleSQL כברירת מחדל.הדגל הספציפי לפקודה
query,--max_rows, מוגדר לערך100כדי לשלוט במספר השורות בפלט של השאילתה.הדגל
--maximum_bytes_billedהספציפי לפקודהqueryמוגדר ל-10,000,000 בייט (10MB) כדי להפסיק שאילתות שקוראות יותר מ-10MB של נתונים.הדגל הספציפי לפקודה
load--destination_kms_keyמוגדר לערךprojects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey.
עזרה בנושא CLI
כדי לקבל עזרה בכלי שורת הפקודה של BigQuery, מריצים את הפקודות הבאות:
| תיאור | הפורמט של פקודת העזרה | דוגמה |
|---|---|---|
| הגרסה המותקנת | bq version |
bq version |
| רשימה של כל הפקודות עם דוגמאות | bq help |
bq help |
| תיאור של דגלים כלליים | bq --help |
bq --help |
| תיאור של פקודה מסוימת | bq help COMMAND |
bq help mk |
פתרון בעיות בפקודות CLI
- כדי לתעד בקשות שנשלחו והתקבלו:
מוסיפים את הדגל
--apilog=PATH_TO_FILEכדי לשמור יומן של פעולות בקובץ מקומי. מחליפים אתPATH_TO_FILEבמיקום שבו רוצים לשמור את היומן. כלי שורת הפקודה של BigQuery פועל על ידי ביצוע קריאות רגילות ל-API מבוסס-REST, שיכולות להיות שימושיות כשמנסים לפתור בעיות. כדאי גם לצרף את היומן הזה כשמדווחים על בעיות ל-Cloud Customer Care.אם משתמשים ב-
-או ב-stdoutבמקום בנתיב, היומן מודפס במסוף Google Cloud . הגדרת--apilogל-stderrמוציאה פלט לקובץ השגיאה הרגיל. כדי לרשום ביומן עוד בקשות, משתמשים בדגל--httplib2_debuglevel=LOG_LEVEL. ערך גבוה יותר שלLOG_LEVELירשום ביומן מידע נוסף על בקשות ה-HTTP.- כדי לפתור את הבעיה:
מזינים את הדגל
--format=prettyjsonכשמקבלים סטטוס של משרה או כשצופים במידע מפורט על משאבים כמו טבלאות וערכות נתונים. שימוש בדגל הזה יגרום להצגת התגובה בפורמט JSON, כולל המאפייןreason. אפשר להשתמש בנכסreasonכדי למצוא הודעות שגיאה.כדי לקבל מידע נוסף על שגיאות כשמריצים פקודה, משתמשים בדגל
--debug_mode.
דגלים כלליים
אפשר להשתמש בדגלים הבאים עם כל פקודת bq, במקרים הרלוונטיים:
--api=ENDPOINT- מציינים את נקודת הקצה ל-API שאליה רוצים לשלוח קריאה. ערך ברירת המחדל הוא
https://www.googleapis.com. --api_version=VERSION- מציינים את גרסת ה-API שבה רוצים להשתמש. ערך ברירת המחדל הוא
v2. --apilog=FILEכל הבקשות והתשובות של ה-API מתועדות ביומן בקובץ שצוין על ידי
FILE. הערכים האפשריים הם:- הנתיב לקובץ – יומנים לקובץ שצוין
-
stdout– יומנים לפלט רגיל -
stderr– יומנים לשגיאה רגילה -
false– בקשות ותגובות של API לא נרשמות ביומן (ברירת מחדל)
--use_google_auth={true|false}אם הערך הוא
true, האימות מופעל באמצעות ספריות Google Auth. ערך ברירת המחדל הואtrue.--bigqueryrc=PATHמציין את הנתיב לקובץ התצורה של כלי שורת הפקודה של BigQuery. אם לא מציינים את הדגל
--bigqueryrc, הפקודה משתמשת במשתנה הסביבהBIGQUERYRC. אם משתנה הסביבה לא מוגדר, נעשה שימוש ב-$HOME/.bigqueryrc. אם הקובץ הזה לא קיים, המערכת משתמשת ב-~/.bigqueryrc. מידע נוסף מופיע במאמר הגדרת ערכי ברירת מחדל לתכונות ניסיוניות בשורת הפקודה.--ca_certificates_file=PATHמציינים את המיקום של קובץ שירות רשות האישורים (CA).
--dataset_id=DATASET_IDמציינת את מערך הנתונים שמוגדר כברירת מחדל לשימוש בפקודה. המערכת מתעלמת מהדגל הזה אם הוא לא רלוונטי. אפשר לציין את הארגומנט
DATASET_IDבפורמטPROJECT:DATASETאוDATASET. אם החלקPROJECTחסר, המערכת משתמשת בפרויקט ברירת המחדל. אפשר לשנות את הגדרת ברירת המחדל של הפרויקט באמצעות ציון--project_idהדגל.--debug_mode={true|false}אם המדיניות מוגדרת לערך
true, מוצגים מעקב אחר שגיאות בחריגות של Python. ערך ברירת המחדל הואfalse.--disable_ssl_validation={true|false}אם ההגדרה היא
true, אימות אישור ה-HTTPS מופעל. ערך ברירת המחדל הואfalse.--discovery_file=PATHמציין את קובץ ה-JSON לקריאה לצורך גילוי.
--enable_gdrive={true|false}אם הערך מוגדר ל-
false, המערכת מבקשת טוקן OAuth חדש ללא היקף Google Drive. ערך ברירת המחדל הואtrue. הבקשה היא לאסימון OAuth חדש עם היקף הרשאות ל-Drive. כדי להגדיר את הדגל הזה לערךfalseכשמבצעים אימות באמצעות חשבון משתמש, צריך להגדיר את הדגל--use_google_authלערךfalse.--fingerprint_job_id={true|false}כדי להשתמש במזהה משימה שנגזר מטביעת אצבע של הגדרת המשימה, מגדירים את הערך
true. כך נמנעת הרצה של אותה עבודה כמה פעמים בטעות. ערך ברירת המחדל הואfalse.--format=FORMATמציין את הפורמט של פלט הפקודה. אפשר להשתמש באחד מהערכים הבאים:
-
pretty: פלט של טבלה מעוצבת -
sparse: פלט טבלה פשוט יותר -
prettyjson: פורמט JSON קל לקריאה -
json: קובץ JSON דחוס -
csv: פורמט csv עם כותרת
הערכים
pretty,sparseו-prettyjsonמיועדים לקריאה על ידי בני אדם. הקבציםjsonו-csvמיועדים לשימוש בתוכנית אחרת. אם מציינים אתnone, הפקודה לא יוצרת פלט. אם הדגל--formatלא מופיע, פורמט פלט מתאים נבחר על סמך הפקודה.-
--headless={true|false}כדי להפעיל את הסשן
bqבלי אינטראקציה של המשתמש, מגדירים את הערך ל-true. לדוגמה, פקודתdebug_modeלא נכנסת למאגר הבאגים, והתדירות של הדפסת המידע יורדת. ערך ברירת המחדל הואfalse.--httplib2_debuglevel=DEBUG_LEVELההגדרה הזו קובעת אם יוצג מידע על תוצאות ניפוי הבאגים ב-HTTP. אם הערך של
DEBUG_LEVELגדול מהערך של0, הפקודה מתעדת ב-stderr את הבקשות והתגובות של שרת ה-HTTP, בנוסף להודעות השגיאה. אם הערך שלDEBUG_LEVELהוא לא גדול מ-0, או אם לא משתמשים בדגל--httplib2_debuglevel, מוצגות רק הודעות שגיאה.לדוגמה:
--httplib2_debuglevel=1
--job_id=JOB_IDמציין מזהה משימה למשימה חדשה. הדגל הזה רלוונטי רק לפקודות שיוצרות משימות:
cp,extract,loadו-query. אם לא משתמשים בדגל--job_id, הפקודות יוצרות מזהה ייחודי של המשימה. מידע נוסף זמין במאמר בנושא הפעלת עבודות באופן פרוגרמטי.--job_property=KEY:VALUEצמד מפתח/ערך שייכלל בשדה המאפיינים של הגדרות העבודה. חוזרים על האפשרות הזו כדי לציין מאפיינים נוספים.
--location=LOCATIONמחרוזת שמתאימה למיקום של אזור או מספר אזורים. חובה להשתמש בדגל המיקום בפקודה
bq cancelובפקודהbq showכשמשתמשים בדגל--jobsכדי להציג מידע על משרות. הדגל של המיקום הוא אופציונלי בפקודות הבאות:querycploadextractpartitionupdatewait-
mkכשמשתמשים בדגלים--dataset,--reservation,--capacity_commitmentאו--reservation_assignment -
lsכשמשתמשים בדגלים--reservation,--capacity_commitmentאו--reservation_assignment
המערכת מתעלמת מהדגל
--locationבכל הפקודות האחרות.--max_rows_per_request=MAX_ROWSמספר שלם שמציין את המספר המקסימלי של שורות שיוחזרו לכל קריאה.
--project_id=PROJECTמציינת את הפרויקט שבו יש להשתמש בפקודות.
--proxy_address=PROXYקביעת השם או כתובת ה-IP של מארח ה-proxy שישמש לחיבור אל Google Cloud.
--proxy_password=PASSWORDקביעת הסיסמה לשימוש באימות מול מארח ה-proxy.
--proxy_port=PORTמציינים את מספר היציאה שמשמש לחיבור למארח ה-proxy.
--proxy_username=USERNAMEמציינת את שם המשתמש שבו יש להשתמש כשמבצעים אימות מול מארח ה-proxy.
-
--quiet={true|false}או-q={true|false} כדי להשבית את עדכוני הסטטוס בזמן שהמשימות פועלות, צריך להגדיר את הערך
true. ערך ברירת המחדל הואfalse.-
--synchronous_mode={true|false}או-sync={true|false} כדי ליצור את העבודה ולחזור מיד, עם סטטוס השלמה מוצלח כקוד השגיאה, צריך להגדיר את הערך
false. אם הערך הואtrue, הפקודה ממתינה עד שהעבודה תושלם לפני שהיא חוזרת, ומחזירה את סטטוס השלמת העבודה כקוד השגיאה. ערך ברירת המחדל הואtrue.--trace=token:TOKENמציין טוקן מעקב שייכלל בבקשות ל-API.
--use_regional_endpoints={true|false}בתצוגה מקדימה. כדי להתחבר לנקודת קצה אזורית, מגדירים את הדגל
--use_regional_endpointsלערךtrueואת הדגל--locationלאזור שאליו רוצים להתחבר. ערך ברירת המחדל הואfalse.
דגלים גלובליים שיצאו משימוש
הדגל הגלובלי הבא לציון דגלים של כלי שורת הפקודה של BigQuery מקובץ הוצא משימוש:
כדי לציין דגלים מקובץ, משתמשים בדגל --bigqueryrc.
--flagfile=PATH
אם מציינים קובץ, הגדרות הדגלים מהקובץ שסופק מוכנסות לכלי שורת הפקודה של BigQuery. ערך ברירת המחדל הוא ''. מידע נוסף זמין במאמר בנושא
הגדרת ערכי ברירת מחדל לתכונות ניסיוניות בשורת הפקודה.
פקודות
בקטעים הבאים מתוארות הפקודות של כלי שורת הפקודה של BigQuery, יחד עם הארגומנטים והדגלים הספציפיים שלהן.
bq add-iam-policy-binding
משתמשים בפקודה bq add-iam-policy-binding כדי לאחזר את מדיניות ניהול הזהויות והרשאות הגישה (IAM) של טבלה או תצוגה, ולהוסיף קישור למדיניות, בפעולה אחת.
הפקודה הזו היא חלופה לתהליך הבא שכולל שלושה שלבים:
- משתמשים בפקודה
bq get-iam-policyכדי לאחזר את קובץ המדיניות (בפורמט JSON). - עריכת קובץ המדיניות.
- משתמשים בפקודה
bq set-iam-policyכדי לעדכן את המדיניות עם קישור חדש.
תקציר
bq add-iam-policy-binding [FLAGS] --member=MEMBER_TYPE:MEMBER --role=ROLE [--table] RESOURCE
דוגמה
bq add-iam-policy-binding --member=user:myAccount@gmail.com \ --role=roles/bigquery.dataViewer myDataset.myTable
דגלים וארגומנטים
בפקודה bq add-iam-policy-binding נעשה שימוש בדגלים ובארגומנטים הבאים:
--member=MEMBER_TYPE:MEMBERחובה. משתמשים בדגל
--memberכדי לציין את החבר שהוא חלק מקישור מדיניות ה-IAM. חובה להשתמש בדגל--memberיחד עם הדגל--role. שילוב אחד של הדגלים--memberו---roleשווה לקישור אחד.הערך
MEMBER_TYPEמציין את סוג החבר בקישור מדיניות IAM. אפשר להשתמש באחד מהערכים הבאים:userserviceAccountgroupdomain
הערך
MEMBERמציין את כתובת האימייל או הדומיין של החבר בקישור למדיניות IAM.--role=ROLEחובה. מציינת את חלק התפקיד בקישור של מדיניות IAM. חובה להשתמש בדגל
--roleיחד עם הדגל--member. שילוב אחד של הדגלים--memberו---roleשווה לקישור אחד.--table={true|false}כדי להחזיר שגיאה אם הארגומנט
RESOURCEהוא לא מזהה של טבלה או תצוגה, מגדירים את הדגל--tableלערךtrue. ערך ברירת המחדל הואfalse. הסימון הבוליאני הזה נתמך כדי לשמור על עקביות עם פקודות אחרות.RESOURCEהטבלה או התצוגה שרוצים להוסיף להן את המדיניות.
מידע נוסף זמין במאמר הסבר על מדיניות IAM.
bq cancel
משתמשים בפקודה bq cancel כדי לבטל עבודות של BigQuery.
תקציר
bq [--synchronous_mode=false] cancel JOB_ID
דוגמאות
bq cancel bqjob_12345
bq --synchronous_mode=false cancel bqjob_12345
דגלים וארגומנטים
הפקודה bq cancel משתמשת בדגלים ובארגומנטים הבאים:
--synchronous_mode=false- אם לא רוצים לחכות לסיום הפקודה
bq cancel,מגדירים את הדגל הגלובלי--synchronous_modeלערךfalse. ערך ברירת המחדל הואtrue. JOB_ID- המשימה שרוצים לבטל.
מידע נוסף על השימוש בפקודה bq cancel זמין במאמר ניהול משימות.
bq cp
משתמשים בפקודה bq cp למשימות הבאות:
- יוצרים עותק של טבלה, שיבוט של טבלה או תמונת מצב של טבלה.
- ליצור שיבוט של טבלה.
- יוצרים קובץ snapshot של טבלה.
תקציר
bq cp [FLAGS] SOURCE_TABLE DESTINATION_TABLE
דוגמה
bq cp myDataset.myTable myDataset.myTableCopy
דגלים וארגומנטים
הפקודה bq cp משתמשת בדגלים ובארגומנטים הבאים:
-
--append_table={true|false}או-a={true|false} כדי לצרף טבלה לטבלה קיימת, מגדירים את הערך
true. ערך ברירת המחדל הואfalse.אי אפשר להשתמש בהגדרות הדגל
--append_table=trueו---clone=trueבו-זמנית.--clone={true|false}כדי ליצור שיבוט של טבלה, מגדירים את הערך
true. טבלת הבסיס יכולה להיות טבלה רגילה, שיבוט של טבלה או תמונת מצב של טבלה. טבלת היעד היא שיבוט של טבלה. ברירת המחדל היאfalse. אם לא מציינים את--clone=trueאו את--snapshot=true, טבלת היעד היא מאותו סוג של טבלת הבסיס. נדרש הסימון--no_clobber.אי אפשר להשתמש בהגדרות הדגל
--append_table=trueו---clone=trueבו-זמנית.--destination_kms_key=KEYמציין מזהה משאב מפתח של Cloud KMS להצפנת הנתונים בטבלת היעד.
לדוגמה:
--destination_kms_key=projects/myProject/locations/global/keyRings/myKeyRing/cryptoKeys/myKey
--expiration=SECONDSמספר השניות עד שתוקף תמונת המצב של הטבלה יפוג. אם לא מציינים תאריך תפוגה, תאריך התפוגה של תמונת המצב של הטבלה מוגדר לתאריך התפוגה שמוגדר כברירת מחדל של מערך הנתונים שמכיל את תמונת המצב החדשה של הטבלה. משתמשים בדגל
--snapshot.-
--force={true|false}או-f={true|false} כדי להחליף את טבלת היעד, אם היא קיימת, בלי להציג בקשה, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. אם טבלת היעד קיימת, הפקודה תציג בקשה לאישור לפני שתדרוס את הטבלה.-
--no_clobber={true|false}או-n={true|false} כדי למנוע דריסה של טבלת היעד, אם היא קיימת, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. אם טבלת היעד קיימת, היא תידרס.--restore={true|false}הסימון הזה יוצא משימוש. כדי ליצור טבלה שאפשר לכתוב בה מתוך תמונת מצב של טבלה, משתמשים בפקודה
bq cpאו בפקודהbq cp --clone.--snapshot={true|false}כדי ליצור snapshot של הטבלה שצוינה בארגומנט
SOURCE_TABLE, מגדירים את הערךtrue. טבלת הבסיס יכולה להיות טבלה רגילה, שיבוט של טבלה או תמונת מצב אחרת של טבלה. ברירת המחדל היאfalse. אם לא מציינים את--clone=trueאו את--snapshot=true, טבלת היעד היא מאותו סוג של טבלת הבסיס. נדרש הדגל--no_clobber.SOURCE_TABLEהטבלה שרוצים להעתיק.
DESTINATION_TABLEהטבלה שאליה רוצים להעתיק.
למידע נוסף על השימוש בפקודה cp:
bq extract
משתמשים בפקודה bq extract כדי לייצא נתונים מטבלה אל Cloud Storage.
תקציר
bq extract [FLAGS] RESOURCE DESTINATION
דוגמאות
bq extract --compression=GZIP --destination_format=CSV --field_delimiter=tab \ --print_header=false myDataset.myTable gs://my-bucket/myFile.csv.gzip
bq extract --destination_format=CSV --field_delimiter='|' myDataset.myTable \ gs://myBucket/myFile.csv
דגלים וארגומנטים
הפקודה bq extract משתמשת בדגלים ובארגומנטים הבאים:
--compression=COMPRESSION_TYPEמציין את סוג הדחיסה שבה יש להשתמש עבור קבצים מיוצאים. הערכים האפשריים הם:
GZIPDEFLATESNAPPYNONE
ערך ברירת המחדל הוא
NONE.מידע על הפורמטים הנתמכים לכל סוג דחיסה זמין במאמר פורמטים של ייצוא וסוגי דחיסה.
--destination_format=FORMATמציינת את הפורמט של הנתונים המיוצאים. הערכים האפשריים הם:
CSVNEWLINE_DELIMITED_JSONAVROPARQUET
ערך ברירת המחדל הוא
CSV.--field_delimiter=DELIMITERבייצוא ל-CSV, מציין את התו שמסמן את הגבול בין העמודות בקובץ הפלט. התו המפריד יכול להיות כל תו יחיד בקידוד ISO-8859-1. אפשר להשתמש ב-
\tאו ב-tabכדי לציין מפרידי טאבים.--print_header={true|false}כדי למנוע הדפסה של שורות כותרת בפורמטים שיש בהם כותרות, צריך להגדיר את הערך
false. ערך ברירת המחדל הואtrue, ושורות הכותרת נכללות.RESOURCEהטבלה שממנה מייצאים.
DESTINATIONמיקום האחסון שאליו מועברים הנתונים המיוצאים.
מידע נוסף על השימוש בפקודה bq extract זמין במאמר ייצוא נתונים מטבלה.
bq get-iam-policy
משתמשים בפקודה bq get-iam-policy כדי לאחזר את מדיניות ה-IAM של משאב ולהדפיס אותה ב-stdout. המשאב יכול להיות טבלה, תצוגה או הזמנת משבצת זמן.
המדיניות היא בפורמט JSON.
תקציר
bq get-iam-policy [FLAGS] RESOURCE
דוגמאות
bq get-iam-policy myDataset.myTable
bq get-iam-policy --reservation myReservation
דגלים וארגומנטים
הפקודה bq get-iam-policy משתמשת בדגלים ובארגומנטים הבאים:
-
--table={true|false}או--t={true|false} - כדי להחזיר שגיאה אם
RESOURCEהוא לא מזהה של טבלה או תצוגה, מגדירים את הדגל--tableלערךtrue. ערך ברירת המחדל הואfalse. הסימון הבוליאני הזה נתמך כדי לשמור על עקביות עם פקודות אחרות. --reservation={true|false}- כדי לקבל את מדיניות ה-IAM של הזמנה, מגדירים את האפשרות
true(תצוגה מקדימה). ערך ברירת המחדל הואfalse. כשמשתמשים בדגל הזה, המערכת מתייחסת אלRESOURCEכאל מזהה הזמנה. להזמנה יכולות להיות קידומות אופציונליות של פרויקט ומיקום:myProject:myLocation.myReservation. RESOURCE
- הטבלה או התצוגה שרוצים לקבל את המדיניות שלהן.
מידע נוסף על הפקודה bq get-iam-policy זמין במאמר שליטה בגישה למשאבים באמצעות IAM.
bq head
משתמשים בפקודה bq head כדי להציג את השורות והעמודות שצוינו בטבלה.
כברירת מחדל, מוצגות כל העמודות של 100 השורות הראשונות.
תקציר
bq head [FLAGS] [TABLE]
דוגמה
bq head --max_rows=10 --start_row=50 --selected_fields=field1,field3 \ myDataset.myTable
דגלים וארגומנטים
הפקודה bq head משתמשת בדגלים ובארגומנטים הבאים:
--job=JOB or -j=JOB- כדי לקרוא את התוצאות של משימת שאילתה, צריך לציין את הדגל הזה עם מזהה משימה תקין.
--max_rows=MAX or -n=MAX- מספר שלם שמציין את מספר השורות המקסימלי להדפסה כשמוצגים נתוני טבלה. ערך ברירת המחדל הוא
100. --selected_fields=COLUMN_NAMES or -c=COLUMN_NAMES
- רשימה מופרדת בפסיקים שמציינת קבוצת משנה של שדות (כולל שדות מקוננים ושדות חוזרים) שיוחזרו כשמוצגים נתוני טבלה. אם לא מציינים את הדגל הזה, כל העמודות מוחזרות.
--start_row=START_ROW or -s=START_ROW- מספר שלם שמציין את מספר השורות שיש לדלג עליהן לפני הצגת נתוני הטבלה. ערך ברירת המחדל הוא
0, והנתונים בטבלה מתחילים בשורה הראשונה. -
--table={true|false}או-t={true|false}
- כדי להחזיר שגיאה אם ארגומנט הפקודה הוא לא טבלה או תצוגה, צריך להגדיר את הערך
true. ערך ברירת המחדל הואfalse. הסימון הבוליאני הזה נתמך כדי לשמור על עקביות עם פקודות אחרות. TABLE
- הטבלה שרוצים לאחזר ממנה את הנתונים.
מידע נוסף על השימוש בפקודה bq head זמין במאמר ניהול נתונים בטבלה.
bq help
משתמשים בפקודה bq help כדי להציג את התיעוד של כלי שורת הפקודה של BigQuery בתוך הכלי.
תקציר
bq help [COMMAND]
דגלים וארגומנטים
הפקודה bq help משתמשת בדגלים ובארגומנטים הבאים:
COMMAND- מציין פקודה מסוימת של כלי שורת הפקודה של BigQuery שרוצים לקבל עזרה אונליין לגביה.
bq insert
משתמשים בפקודה bq insert כדי להוסיף שורות של נתונים בפורמט JSON שמופרדים באמצעות שורות חדשות לטבלה מקובץ באמצעות הזנת זרם נתונים. סוגי הנתונים מומרים בהתאם לסוגי העמודות בטבלת היעד. הפקודה הזו מיועדת למטרות בדיקה בלבד. כדי להזרים נתונים ל-BigQuery, משתמשים בשיטת ה-API insertAll.
תקציר
bq insert [FLAGS] TABLE FILE
דוגמאות
bq insert --ignore_unknown_values --template_suffix=_insert myDataset.myTable /tmp/myData.json
echo '{"a":1, "b":2}' | bq insert myDataset.myTable
דגלים וארגומנטים
הפקודה bq insert משתמשת בדגלים ובארגומנטים הבאים:
-
--ignore_unknown_values={true|false}או-i={true|false} - אם הערך הוא
true, מערכת BigQuery מתעלמת מצמדי מפתח/ערך שלא תואמים לסכימה של הטבלה, ומוסיפה את השורה עם הנתונים שתואמים לסכימה. אם מגדירים את הערךfalse, השורות עם נתונים שלא תואמים לסכימה של הטבלה לא מוכנסות. ערך ברירת המחדל הואfalse. -
--skip_invalid_rows={true|false}או-s={true|false} - אם בוחרים באפשרות
true, מערכת BigQuery מנסה להוסיף את כל השורות התקינות, גם אם יש שורות לא תקינות. אם הערך הואfalse, הפקודה תיכשל אם יש שורות לא תקינות. ערך ברירת המחדל הואfalse. --template_suffix=SUFFIX or -x=SUFFIX- אם מציינים את האפשרות הזו, המערכת מתייחסת לטבלת היעד TABLE כתבנית בסיס, ומוסיפה את השורות לטבלת מופע בשם
{destination}{templateSuffix}. BigQuery יוצר את טבלת המופע באמצעות הסכימה של תבנית הבסיס. TABLE- הטבלה שאליה רוצים להוסיף נתונים.
FILE- הקובץ שמכיל את הנתונים שרוצים להוסיף.
מידע נוסף על השימוש בפקודה bq insert זמין במאמר הזרמת נתונים ל-BigQuery.
bq load
משתמשים בפקודה bq load כדי לטעון נתונים לטבלה.
תקציר
bq load [FLAGS] DESTINATION_TABLE SOURCE_DATA [SCHEMA]
דוגמה
bq load myDataset.newTable gs://mybucket/info.csv ./info_schema.json
דגלים וארגומנטים
הפקודה bq load משתמשת בדגלים ובארגומנטים הבאים:
--allow_jagged_rows={true|false}- כדי לאפשר עמודות אופציונליות חסרות בסוף נתוני ה-CSV, מגדירים את הערך
true. --preserve_ascii_control_characters={true|false}- כדי לאפשר הטמעה של תווי בקרה של ASCII בנתוני CSV, מגדירים את הערך ל-
true. --allow_quoted_newlines={true|false}- כדי לאפשר מעברי שורה בתוך מירכאות בנתוני CSV, מגדירים את הערך
true. --autodetect={true|false}- כדי להפעיל זיהוי אוטומטי של סכימה לנתוני CSV ו-JSON, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. אם--autodetectהואfalseולא צוינה סכימה באמצעות הדגל--schema, וטבלת היעד קיימת, אז נעשה שימוש בסכימה של טבלת היעד. --clustering_fields=COLUMNS
- רשימה מופרדת בפסיקים של עד ארבעה שמות עמודות שמציינת את השדות שבהם יש להשתמש לאשכולות בטבלה.
--column_name_character_map=SCOPE- הגדרה של ההיקף והטיפול בתווים בשמות של עמודות, עם אפשרות להפעלה של שמות גמישים של עמודות.
נדרשת האפשרות
--autodetectלקובצי CSV. רשימה של הערכים האפשריים זמינה במאמר בנושאload_option_list. --destination_kms_key=KEY
- מציין מזהה של משאב מפתח ב-Cloud KMS להצפנת הנתונים בטבלת היעד.
--encoding=ENCODING_TYPE or -E=ENCODING_TYPE- קידוד התווים שמשמש בנתונים. משתמשים באחד מהערכים הבאים:
-
ISO-8859-1(נקרא גם Latin-1) UTF-8
-
--field_delimiter=DELIMITER or -F=DELIMITER- מציין את התו שמסמן את הגבול בין העמודות בנתונים.
התו המפריד יכול להיות כל תו יחיד בקידוד ISO-8859-1. אפשר להשתמש ב-
\tאו ב-tabכדי לציין תווי הפרדה של טאבים. --ignore_unknown_values={true|false}- אם מגדירים את הערך
trueלקובצי CSV ו-JSON, המערכת טוענת שורות עם ערכי עמודות נוספים שלא תואמים לסכימת הטבלה, אבל מתעלמת מהעמודות הנוספות. אם מגדירים את הערךtrueלקובצי Avro, Parquet ו-ORC, המערכת מתעלמת משדות בסכימת הקובץ שלא קיימים בסכימת הטבלה, והם לא נטענים. --json_extension=JSON_TYPEמציין את סוג קובץ ה-JSON שצריך לטעון. ההגדרה חלה רק על קובצי JSON. הערכים האפשריים הם:
-
GEOJSON– קובץ GeoJSON שמופרד בתו שורה חדשה
כדי להשתמש בדגל הזה, צריך להגדיר את הדגל
--source_formatל-NEWLINE_DELIMITED_JSON.מידע נוסף זמין במאמר בנושא טעינת קובצי GeoJSON שמופרדים בתו שורה חדשה.
-
--max_bad_records=MAXמספר שלם שמציין את המספר המקסימלי של רשומות פגומות שמותרות לפני שהעבודה כולה נכשלת. ערך ברירת המחדל הוא
0. לכל היותר, מוחזרות חמש שגיאות מכל סוג, ללא קשר לערך של--max_bad_records. הדגל הזה רלוונטי רק לטעינת נתונים בפורמט CSV, JSON ו-Google Sheets.--null_marker=STRINGמחרוזת מותאמת אישית אופציונלית שמייצגת ערך
NULLבנתוני CSV.--projection_fields=PROPERTY_NAMESאם מגדירים את
--source_formatל-DATASTORE_BACKUP, הדגל הזה מציין אילו מאפייני ישות לטעון מייצוא של Datastore. מציינים את שמות הנכסים ברשימה מופרדת בפסיקים. שמות הנכסים הם תלויי אותיות רישיות, והם חייבים להתייחס לנכסים ברמה העליונה. אפשר להשתמש בדגל הזה גם בייצוא של Firestore.--quote=CHARACTERמציין תו מרכאות להקפת שדות בנתוני CSV. הארגומנט
CHARACTERיכול להיות כל תו באורך בית אחד. ערך ברירת המחדל הוא מירכאות כפולות ("). כדי לציין שאין תו מירכאות, משתמשים במחרוזת ריקה"".--replace={true|false}כדי למחוק נתונים וסכימות קיימים כשנטענים נתונים חדשים, צריך להגדיר את האפשרות
true. כל מפתח Cloud KMS יוסר גם כן, אלא אם תציינו את הדגל--destination_kms_key. ערך ברירת המחדל הואfalse.שווה לערך
WRITE_TRUNCATEשלJobConfigurationLoad.writeDisposition.--schema={SCHEMA_FILE|SCHEMA}מציינים את הנתיב לקובץ סכימת JSON מקומי או רשימה מופרדת בפסיקים של הגדרות עמודות בפורמט
FIELD:DATA_TYPE, FIELD:DATA_TYPE. אם אתם משתמשים בקובץ סכימה, אל תוסיפו סיומת לשם הקובץ.לדוגמה:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
אם לא מציינים סכימה, הערך של
--autodetectהואfalse, וטבלת היעד קיימת, המערכת משתמשת בסכימה של טבלת היעד.--schema_update_option=OPTIONכשמוסיפים נתונים לטבלה (במשימת טעינה או במשימת שאילתה), או כשמחליפים מחיצה בטבלה, צריך לציין איך לעדכן את הסכימה של טבלת היעד. אפשר להשתמש באחד מהערכים הבאים:
-
ALLOW_FIELD_ADDITION: אפשר להוסיף שדות חדשים -
ALLOW_FIELD_RELAXATION: אפשר להרחיב את ההגדרות של השדותREQUIREDל-NULLABLE
אפשר לחזור על הדגל הזה כדי לציין כמה אפשרויות לעדכון הסכימה.
-
--skip_leading_rows=NUMBER_OF_ROWSמספר שלם שמציין את מספר השורות שצריך לדלג עליהן בתחילת קובץ המקור. ערך ברירת המחדל הוא
0.--file_set_spec_type=FILE_SET_SPEC_TYPEמציין איך לפרש כתובות URI של מקורות.
-
FILE_SYSTEM_MATCH: מרחיב את ה-URI של המקור על ידי הצגת רשימת הקבצים ממאגר האובייקטים. זו התנהגות ברירת המחדל אם לא מוגדר FileSetSpecType. -
NEW_LINE_DELIMITED_MANIFEST: מציין שכתובות ה-URI שסופקו הן קובצי מניפסט שמופרדים באמצעות שורות חדשות, עם URI אחד בכל שורה. לא ניתן להשתמש ב-URI עם תווים כלליים בקובצי המניפסט, וכל קובצי הנתונים שאליהם יש הפניה חייבים להיות באותו מאגר כמו המניפסט.
לדוגמה, אם יש לכם URI של מקור
"gs://bucket/path/file"וה-file_set_spec_typeהואFILE_SYSTEM_MATCH, הקובץ ישמש ישירות כקובץ נתונים. אם הערך שלfile_set_spec_typeהואNEW_LINE_DELIMITED_MANIFEST, כל שורה בקובץ מתפרשת כ-URI שמפנה לקובץ נתונים.-
--source_format=FORMATהפורמט של נתוני המקור. אפשר להשתמש באחד מהערכים הבאים:
CSVNEWLINE_DELIMITED_JSONAVRO-
DATASTORE_BACKUP(הערך הזה משמש ל-Filestore) PARQUETORC
--time_partitioning_expiration=SECONDSמספר שלם שמציין (בשניות) מתי צריך למחוק מחיצה מבוססת-זמן. זמן התפוגה הוא תאריך ה-UTC של המחיצה בתוספת הערך השלם. מספר שלילי מציין שאין תאריך תפוגה.
--time_partitioning_field=COLUMN_NAMEמציינים את השדה שקובע איך ליצור מחיצה לפי זמן. אם מפעילים חלוקה למחיצות לפי זמן בלי הערך הזה, הטבלה מחולקת למחיצות לפי זמן הטעינה.
--time_partitioning_type=INTERVALהגדרה של חלוקה למחיצות (partitioning) לפי זמן בטבלה והגדרת סוג המחיצה. אפשר להשתמש באחד מהערכים הבאים:
DAYHOURMONTHYEAR
סוג המחיצה שמוגדר כברירת מחדל לחלוקה למחיצות לפי זמן הוא
DAY.--use_avro_logical_types={true|false}אם הדגל
--source_formatמוגדר לערךAVRO, צריך להגדיר את הדגל הזה לערךtrueכדי להמיר סוגים לוגיים לסוגים התואמים שלהם (כמוTIMESTAMP) במקום להשתמש רק בסוגים הגולמיים שלהם (כמוINTEGER).--decimal_target_types=DECIMAL_TYPEקובעת איך להמיר סוג לוגי של
Decimal. שווה ערך ל-JobConfigurationLoad.decimalTargetTypes. אפשר לחזור על האפשרות הזו כדי לציין כמה סוגים של טירגוט.--parquet_enum_as_string={true|false}אם הדגל
--source_formatמוגדר ל-PARQUETואתם רוצים ש-BigQuery יסיק את סוגי הנתונים הלוגיים של Parquet כערכים מסוגSTRING, צריך להגדיר את הדגל הזה ל-true.ENUMערך ברירת המחדל הואfalse.--parquet_enable_list_inference={true|false}אם הדגל
--source_formatמוגדר ל-PARQUET, הדגל הזה מציין אם להשתמש בהסקת סכימה עבור סוגים לוגיים של ParquetLIST.--reference_file_schema_uri=URIמציין את הנתיב לקובץ עזר עם סכימת הטבלה הצפויה ליצירת טבלאות חיצוניות. שווה ערך ל-
ExternalDataConfiguration.referenceFileSchemaUri. הסימון הבוליאני הזה מופעל בפורמטים Avro, ORC ו-PARQUET.DESTINATION_TABLEהטבלה שאליה רוצים לטעון נתונים.
SOURCE_DATAה-URI של Cloud Storage של הקובץ שמכיל את הנתונים שרוצים לטעון.
SCHEMAהסכימה של טבלת היעד.
למידע נוסף על טעינת נתונים מ-Cloud Storage באמצעות הפקודה bq load, אפשר לעיין במאמרים הבאים:
- טעינת נתוני Avro
- טעינת נתונים מ-CSV
- טעינת נתוני JSON
- טעינת נתוני ORC
- טעינת נתוני Parquet
- טעינת נתונים מייצוא של Datastore
- טעינת נתונים מייצוא של Firestore
למידע נוסף על טעינת נתונים ממקור מקומי באמצעות הפקודה bq load:
bq ls
משתמשים בפקודה bq ls כדי להציג רשימה של אובייקטים באוסף.
תקציר
bq ls [FLAGS] [RESOURCE]
דוגמה
bq ls myDataset
דגלים וארגומנטים
הפקודה bq ls משתמשת בדגלים ובארגומנטים הבאים:
-
--all={true|false}או-a={true|false} - כדי להציג את כל התוצאות, מגדירים את האפשרות
true. הצגת משימות מכל המשתמשים או מכל מערכי הנתונים, כולל משימות מוסתרות. אין צורך בדגל הזה כשמציגים רשימה של הגדרות העברה או של הפעלות העברה. ערך ברירת המחדל הואfalse. --capacity_commitment={true|false}כדי להציג רשימה של התחייבויות לקיבולת, מגדירים את
trueומשתמשים בדגל--locationכדי לציין את המיקום. מידע נוסף זמין במאמר בנושא הצגת התחייבויות שנרכשו.לדוגמה:
bq ls --capacity_commitment=true --location='us'-
--datasets={true|false}או-d={true|false} כדי להציג רשימה של מערכי נתונים, מגדירים את הערך
true. ערך ברירת המחדל הואfalse.--filter="FILTER"מסנן את המשאבים שמופיעים ברשימה כך שיתאימו לארגומנט
FILTER.במערכי נתונים,
FILTERמורכב מטריפלט אחד או יותר של ערכים מופרדים ברווח בפורמטlabels.KEY:VALUE. אם מספקים יותר משלשה אחת, הפקודה מחזירה רק מערכי נתונים שתואמים לכל השלשות (כלומר, הפקודה משתמשת באופרטור הלוגיANDולא ב-OR). אם רוצים לציין יותר משלשה אחת, צריך להקיף את הערךFILTERבמירכאות.כדי לסנן לפי תוויות של קבוצות נתונים, משתמשים במפתחות ובערכים שהגדרתם לקבוצות הנתונים.
לדוגמה:
--filter "labels.department:marketing labels.team:sales"
בהגדרות העברה, משתמשים ב-
dataSourceIdsכמפתח ובאחד ממקורות הנתונים הבאים כערך:
-
amazon_s3– העברת נתונים ב-Amazon S3 -
azure_blob_storage– העברת נתונים מ-Azure Blob Storage -
dcm_dt- העברת נתונים מ-Campaign Manager -
google_cloud_storage- Cloud Storage העברת נתונים -
cross_region_copy– העתקה של מערך נתונים -
dfp_dt– העברת נתונים ב-Google Ad Manager -
displayvideo- העברת נתונים מ-Display & Video 360 -
google_ads– העברת נתוני מודעות ב-Google Ads -
merchant_center– העברת נתונים מ-Google Merchant Center -
mysql- העברת נתונים ב-MySQL -
play– העברת נתונים מ-Google Play -
scheduled_query– העברת נתונים של שאילתות מתוזמנות -
search_ads- העברת נתונים מ-Search Ads 360 youtube_channel– העברת נתונים של ערוץ YouTube-
youtube_content_owner– העברת נתונים של בעלי תוכן ב-YouTube -
redshift- Amazon Redshift migration -
on_premises– Teradata migration
לדוגמה:
--filter labels.dataSourceIds:dcm_dt
להרצות העברה, משתמשים ב-states כמפתח ובאחד או יותר ממצבי ההעברה הבאים כערך:
SUCCEEDEDFAILEDPENDINGRUNNINGCANCELLED
לדוגמה:
--filter="states:FAILED"
למשימות, משתמשים ב-states כמפתח ובאחד או יותר מהסטטוסים הבאים של המשימה כערך:
RUNNINGPENDINGDONE
לדוגמה:
bq ls --jobs --filter="states:RUNNING" bq ls --jobs --filter="states:RUNNING,PENDING"
-
--jobs={true|false}או-j={true|false} - כדי להציג משרות, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. כברירת מחדל, אפשר לקבל עד 100,000 תוצאות. --max_creation_time=MAX_CREATION_TIME_MS- מספר שלם שמייצג חותמת זמן של Unix epoch באלפיות השנייה.
אם מציינים את האפשרות הזו עם הדגל
--jobs, הדגל הזה מציג רק את המשימות שנוצרו לפני חותמת הזמן. --max_results=MAX_RESULTS or -n=MAX_RESULTS
- מספר שלם שמציין את המספר המקסימלי של התוצאות. ערך ברירת המחדל הוא 50, והערך המקסימלי הוא 1,000. אם יש לכם יותר מ-1,000 משימות, אתם יכולים
page_tokenלהשתמש בדגל כדי להציג את כל המשימות באמצעות עימוד .
- --
min_creation_time=MIN_CREATION_TIME_MS - מספר שלם שמייצג חותמת זמן של ראשית זמן יוניקס (Unix epoch) באלפיות השנייה. אם מציינים את האפשרות
--jobs, האפשרות הזו מציגה רק את המשימות שנוצרו אחרי חותמת הזמן. --message_type=messageTypes:MESSAGE_TYPEכדי להציג רק הודעות ביומן של העברת נתונים מסוג מסוים, מציינים את
messageTypes:MESSAGE_TYPE. הערכים האפשריים הם:INFOWARNINGERROR
-
--models={true|false}או-m={true|false} כדי להציג רשימה של מודלים של BigQuery ML, מגדירים את הערך
true. ערך ברירת המחדל הואfalse.-
--page_token=TOKENאו-k=TOKEN רשימת הפריטים שמתחילה מאסימון הדף שצוין.
-
--projects={true|false}או-p={true|false} כדי להציג את כל הפרויקטים, מגדירים את הערך
true. ערך ברירת המחדל הואfalse.--reservation={true|false}כדי להציג רשימה של כל ההזמנות בפרויקט ובמיקום מסוימים, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. משתמשים בדגלים--project_idו---location.לדוגמה:
bq ls --reservation=true --project_id=myProject --location=us
--reservation_assignment={true|false}כדי להציג רשימה של כל ההקצאות של הזמנות לפרויקט ולמיקום מסוימים, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. משתמשים בדגלים--project_idו---location.--routines={true|false}כדי להציג ברשימה את כל השגרה במערך הנתונים שצוין, מגדירים את הערך ל-
true. ערך ברירת המחדל הואfalse. השגרה כוללת פונקציות מתמידות בהגדרת המשתמש, פונקציות של טבלאות (בגרסת Preview) ופרוצדורות מאוחסנות.--row_access_policiesאם מציינים את האפשרות הזו, מוצגות כל מדיניות הגישה ברמת השורה בטבלה. כללי מדיניות גישה ברמת השורה משמשים לאבטחה ברמת השורה. צריך לציין את שם הטבלה בפורמט
dataset.table.--run_attempt=RUN_ATTEMPTמשתמשים בדגל
--transfer_run. כדי להציג רשימה של כל הניסיונות להרצת ההעברה שצוינה, מגדירים את הערךRUN_ATTEMPT_UNSPECIFIED. כדי להציג רק את ניסיון ההרצה האחרון, מגדירים את הערךLATEST. ערך ברירת המחדל הואLATEST.--transfer_config={true|false}כדי להציג רשימה של הגדרות העברה בפרויקט ובמיקום שצוינו, מגדירים את הערך
true. משתמשים בדגלים--transfer_locationו---project_id. ערך ברירת המחדל הואfalse.--transfer_location=LOCATIONהצגת רשימה של הגדרות העברה במיקום שצוין. אתם מגדירים את מיקום ההעברה כשיוצרים את ההעברה.
--transfer_log={true|false}משתמשים בדגל
--transfer_run. כדי להציג את ההודעות ביומן ההעברה של ההרצה הספציפית של ההעברה, צריך להגדיר את הערךtrue. ערך ברירת המחדל הואfalse.--transfer_run={true|false}רשימת ההרצות של ההעברה עבור הגדרת ההעברה שצוינה.
לדוגמה:
bq ls --transfer_run=true projects/myProject/locations/us/transferConfigs/12345
RESOURCEהאוסף שאת רשימת האובייקטים שלו רוצים לראות. המשאב יכול להיות מערך נתונים, פרויקט, הזמנה או הגדרת העברה.
למידע נוסף על השימוש בפקודה bq ls:
- ניהול משימות
- הצגת רשימה של מערכי נתונים בפרויקט
- יצירה של טבלאות ושימוש בהן
- הצגת תצוגות ברשימה במערך נתונים
- עבודה עם העברות
- תמונות מצב של טבלת כרטיסי מוצר במערך נתונים
bq mk
משתמשים בפקודה bq mk כדי ליצור משאב BigQuery.
תקציר
bq mk TYPE_FLAG [OTHER FLAGS] [ARGS]
דגלים וארגומנטים
הפקודה bq mk מקבלת דגל type שמציין את סוג המשאב שרוצים ליצור, ודגלים נוספים שמשתנים בהתאם לסוג המשאב.
TYPE_FLAG: מגדירים את אחד מהדגלים הבאים לערך true.
הבחירה שלכם מציינת את סוג המשאב שייווצר.
--capacity_commitment: רכישת התחייבות לקיבולת.
--connection: יצירת חיבור.
--datasetאו-d: יצירת מערך נתונים.
--materialized_view: יצירת תצוגה מהותית.
--reservation: יצירת שמירת זכויות.
--reservation_assignment. מקצים תיקייה, פרויקט או ארגון להזמנה.--reservation-group: יצירת קבוצה של שמירת זכויות.
--tableאו-t: יצירת טבלה.
--transfer_config: יצירת הגדרות העברה.
--transfer_run: יצירת הרצת העברה לטווח זמן.
--view: יצירת תצוגה.
הפקודה bq mk תומכת בדגל הבא לכל סוגי המשאבים:
-
--force={true|false}או-f={true|false} - כדי להתעלם משגיאות אם כבר קיים משאב עם אותו שם, מגדירים את הערך ל-
true. אם המשאב כבר קיים, קוד היציאה הוא 0, אבל הגדרת הדגל הזה ל-trueלא גורמת לפקודהbq mkלהחליף את המשאב. ערך ברירת המחדל הואfalse.
הפקודה bq mk תומכת בדגלים נוספים, בהתאם לסוג המשאב שיוצרים, כפי שמתואר בקטעים הבאים.
bq mk --capacity_commitment
כדי לרכוש התחייבות לקיבולת, מגדירים את --capacity_commitment ל-true ומשתמשים בדגלים הבאים:
--location=LOCATION- מציין את המיקום של ההתחייבות.
--plan=PLAN_TYPEמציין את סוג תוכנית ההתחייבות. צריך להזין אחד מהערכים הבאים:
ANNUALTHREE_YEAR
לקוחות שמשתמשים בתמחור קבוע מדור קודם יכולים גם להשתמש באחד מהערכים הבאים:
FLEXMONTHLYANNUAL
--renewal_plan=RENEWAL_TYPEמציין את סוג תוכנית החידוש. חובה בתוכניות מחויבות ל-
ANNUALאו ל-THREE_YEAR. אחת מהאפשרויות הבאות:ANNUALTHREE_YEARNONE
לקוחות שמשתמשים בתמחור מדור קודם לפי תעריף קבוע יכולים גם להשתמש באחד מהערכים הבאים:
FLEXMONTHLYANNUAL
--project_id=PROJECT_IDמציינים את הפרויקט שמנהל את המשבצות.
--slots=NUMBER_OF_BASELINE_SLOTSמציין את מספר המשבצות הבסיסיות לרכישה.
--edition=EDITIONהמהדורה שמשויכת להתחייבות לקיבולת. הערך חייב להיות אחד מהערכים הבאים:
ENTERPRISEENTERPRISE_PLUS
מידע נוסף זמין במאמר בנושא התחייבויות לרכישה.
bq mk --connection
יצירת חיבור. יש תמיכה בדגלים הבאים:
--connection_type=CONNECTION_TYPE- סוג החיבור, לדוגמה
CLOUD_SQLלחיבורים ל-Cloud SQL. --properties=PROPERTIESפרמטרים ספציפיים לחיבור בפורמט JSON. חובה לציין את הערכים
instanceId, databaseו-type.אם יוצרים קישור ל-Spanner ורוצים להשתמש ב-Data Boost, צריך לכלול את זוגות הערכים
"useParallelism":trueו-"useDataBoost":true.--connection_credential=CONNECTION_CREDENTIALפרטי הכניסה של החיבור בפורמט JSON. חובה לציין את הערכים של
usernameו-password.--project_id=PROJECT_IDמציינים את מזהה הפרויקט שהחיבור שייך אליו.
--location=LOCATIONקובע את המיקום שבו החיבור יאוחסן.
--display_name=DISPLAY_NAMEקביעת שם ידידותי לחיבור (לא חובה).
--description=DESCRIPTIONתיאור אופציונלי של החיבור.
--iam_role_id=ROLE_IDב-BigQuery Omni ב-AWS, מציינים תפקיד IAM שמאפשר גישה למשאב.
צריך להשתמש בפורמט הבא:
"arn:aws:iam::AWS_ACCOUNT_ID:role/POLICY_NAME", כאשר:- AWS_ACCOUNT_ID הוא מספר המזהה של משתמש AWS IAM של החיבור.
- POLICY_NAME הוא שם המדיניות.
לדוגמה:
"arn:aws:iam::0123456789AB:policy/s3-read-role"--tenant_id=TENANT_IDב-BigQuery Omni ב-Microsoft Azure, מצוין מזהה הדייר של ספריית Microsoft Azure שמכילה את חשבון Microsoft Azure Storage.
CONNECTION_IDמציינים מזהה חיבור אופציונלי לחיבור. אם לא מציינים מזהה חיבור, המערכת יוצרת מזהה ייחודי באופן אוטומטי. מזהה החיבור יכול להכיל אותיות, מספרים וקווים תחתונים.
מידע נוסף זמין במאמר מבוא לחיבורים.
bq mk --dataset
יצירת מערך נתונים. יש תמיכה בדגלים הבאים:
--add_tags=TAGS- מציינים את התגים שמצורפים למערך הנתונים החדש, בהפרדה באמצעות פסיקים. לדוגמה:
556741164180/env:prod,myProject/department:sales. לכל תג צריך להיות שם מפתח במרחב השמות ושם מקוצר של ערך. --default_kms_key=KEY
- מציין את מזהה משאב המפתח של Cloud KMS שמוגדר כברירת מחדל להצפנת נתוני הטבלה במערך נתונים, אם לא סופק מפתח מפורש במהלך יצירת הטבלה או השאילתה.
--default_partition_expiration=SECONDS- מספר שלם שמציין את זמן התפוגה שמוגדר כברירת מחדל, בשניות, לכל המחיצות בטבלאות מחולקות למחיצות שנוצרו לאחרונה במערך הנתונים. מועד התפוגה של מחיצה מוגדר כתאריך ה-UTC של המחיצה בתוספת הערך המספרי.
אם הנכס הזה מוגדר, הערך שלו מבטל את ברירת המחדל של טבלת התפוגה ברמת מערך הנתונים, אם היא קיימת. אם מציינים את האפשרות
--time_partitioning_expirationכשיוצרים או מעדכנים טבלה מחולקת למחיצות, תאריך התפוגה של המחיצות ברמת הטבלה מקבל עדיפות על פני תאריך התפוגה של המחיצות שמוגדר כברירת מחדל ברמת מערך הנתונים. --default_table_expiration=SECONDS- מספר שלם שמציין את משך החיים שמוגדר כברירת מחדל, בשניות, לטבלאות חדשות שנוצרות במערך נתונים. זמן התפוגה מוגדר לשעה הנוכחית ב-UTC בתוספת ערך זה.
--description=DESCRIPTION- מציין את התיאור של מערך הנתונים.
--external_source=EXTERNAL_SOURCE- מציין את מקור הנתונים החיצוני כשיוצרים מערך נתונים מאוחד.
--label=KEY:VALUE- מציינת תווית למערך הנתונים. חוזרים על האפשרות הזו כדי לציין כמה תוויות.
-
--location=LOCATIONאו--data_location=LOCATION - מציין את המיקום של מערך הנתונים. מומלץ להשתמש בדגל
--location. הדגל--data_locationהוא דגל מדור קודם. --max_time_travel_hours=HOURS- מציינת את משך הזמן בשעות של חלון הזמן לשינוי נתונים של מערך הנתונים. הערך
--max_time_travel_hoursצריך להיות מספר שלם שהוא כפולה של 24 (48, 72, 96, 120, 144, 168) בין 48 (יומיים) ל-168 (7 ימים). אם לא מציינים את הדגל הזה, ברירת המחדל היא 168 שעות. --storage_billing_model=BILLING_MODELמציינת את מודל החיוב על אחסון של מערך נתונים. מגדירים את הערך
--storage_billing_modelל-PHYSICALכדי להשתמש בבייטים פיזיים בחישוב עלויות האחסון, או ל-LOGICALכדי להשתמש בבייטים לוגיים. ברירת המחדל היאLOGICAL.כשמשנים את מודל החיוב של מערך נתונים, חולפות 24 שעות עד שהשינוי נכנס לתוקף.
אחרי שמשנים את מודל החיוב של האחסון של מערך נתונים, צריך לחכות 14 ימים לפני שאפשר לשנות שוב את מודל החיוב של האחסון.
מידע נוסף זמין במאמר בנושא יצירת מערכי נתונים.
bq mk --materialized_view
יוצרת תצוגה מהותית. יש תמיכה בדגלים הבאים:
--enable_refresh={true|false}- כדי להשבית את הרענון האוטומטי של תצוגה חומרית, מגדירים את הערך
false. ברירת המחדל כשיוצרים תצוגה מהותית היאtrue. --refresh_interval_ms=MILLISECONDS
- מציין את מספר אלפיות השנייה של מרווח הרענון של תצוגה חומרית. אם לא מציינים את הדגל הזה, מרווח הרענון שמוגדר כברירת מחדל לתצוגה חומרית שהרענון שלה מופעל הוא 1,800,000 אלפיות שנייה, כלומר 30 דקות.
מידע נוסף זמין במאמר יצירה ושימוש בתצוגות חומריות.
bq mk --reservation
יצירת הזמנה עם משבצות זמן ייעודיות. יש תמיכה בדגלים הבאים:
--target_job_concurrency=CONCURRENCY- מציין את מספר השאילתות שמופעלות בו-זמנית. ערך ברירת המחדל הוא 0, כלומר, הבו-זמניות מחושבת באופן אוטומטי על סמך גודל ההזמנה. מידע נוסף זמין במאמר שימוש בתורים של שאילתות.
--ignore_idle_slots={true|false}- כדי להגביל את העבודות שמופעלות בהזמנה הזו כך שישתמשו רק במשבצות שהוקצו להזמנה, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. משימות בהזמנה הזו יכולות להשתמש במשבצות בלי פעילות מהזמנות אחרות, או במשבצות שלא הוקצו לאף הזמנה. מידע נוסף זמין במאמר בנושא משבצות זמן פנויות. --location=LOCATION- מציין את מיקום ההזמנה.
--project_id=PROJECT_ID- מציין את הפרויקט שבבעלותו המקום השמור.
--slots=NUMBER_OF_BASELINE_SLOTS
- Specifies the number of baseline slots to allocate to this reservation.
--edition=EDITION
- המהדורה שמשויכת להתחייבות לקיבולת. הפורמט חייב להיות אחד מהפורמטים הבאים:
STANDARDENTERPRISEENTERPRISE_PLUS
--autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS- מספר המשבצות להתאמה אוטומטית לעומס שהוקצו להזמנה. הערך הזה שווה לערך של גודל ההזמנה המקסימלי פחות מספר המשבצות הבסיסיות.
--max_slots=MAXIMUM_NUMBER_OF_SLOTS
- המספר המקסימלי של משבצות הזמן שההזמנה תתפוס. צריך להגדיר את הדגל
--scaling_mode(תצוגה מקדימה). --scaling_mode=SCALING_MODEמצב ההתאמה של ההזמנה. הערך חייב להיות אחד מהערכים הבאים:
IDLE_SLOTS_ONLYALL_SLOTSAUTOSCALE_ONLYSCALING_MODE_UNSPECIFIED
צריך להגדיר את האפשרות עם הסימון
--max_slots(תצוגה מקדימה).
מידע נוסף זמין במאמר יצירת הזמנה עם משבצות זמן ייעודיות.
bq mk --reservation_assignment
הקצאת פרויקט, תיקייה או ארגון להזמנה. יש תמיכה בדגלים הבאים:
--assignee_id=ASSIGNEE_ID
- ID של התיקייה, הארגון או הפרויקט.
--assignee_type=ASSIGNEE_TYPE- מציין את סוג הישות להקצאה להזמנה. אחת מהאפשרויות הבאות:
FOLDERORGANIZATIONPROJECT
--job_type=JOB_TYPE
- Specifies the type of job to assign to the reservation. אחת מהאפשרויות הבאות:
QUERYPIPELINEML_EXTERNALBACKGROUND
--location=LOCATION- מציין את מיקום ההזמנה.
--project_id=PROJECT_ID- מציין את הפרויקט שבבעלותו המקום השמור.
--reservation_id=RESERVATION_ID
- מציין את המזהה של המקום השמור.
מידע נוסף מופיע במאמר בנושא עבודה עם הקצאות של הזמנות.
bq mk --alpha=reservation_groups --reservation-group
יוצרים קבוצת הזמנות. יש תמיכה בדגלים הבאים:
--location=LOCATION- מציין את מיקום ההזמנה.
--project_id=PROJECT_ID- מציין את הפרויקט שהמקום השמור בבעלותו.
צריך להגדיר את הדגל --alpha=reservation_groups
(תצוגה מקדימה).
מידע נוסף מופיע במאמר איך עובדים עם קבוצות של הזמנות.
bq mk --table
יוצר טבלה. יש תמיכה בדגלים הבאים:
--add_tags=TAGS- מציינים את התגים שמצרפים לטבלה החדשה, בהפרדה באמצעות פסיקים. לדוגמה:
556741164180/env:prod,myProject/department:sales. לכל תג צריך להיות שם מפתח במרחב השמות ושם מקוצר של ערך. --clustering_fields=COLUMNS
- רשימה מופרדת בפסיקים של עד ארבעה שמות עמודות שמציינת את השדות שבהם יש להשתמש לאשכולות של טבלאות. אם מציינים חלוקה למחיצות, הטבלה מחולקת למחיצות ואז כל מחיצה מקובצת באמצעות העמודות שצוינו.
--description=DESCRIPTION- מציין את תיאור הטבלה.
--destination_kms_key=KEY
- מציין מזהה של משאב מפתח ב-Cloud KMS להצפנת הנתונים בטבלת היעד.
--expiration=SECONDS- מציין את משך החיים של הטבלה. אם לא מציינים את הדגל
--expiration, BigQuery יוצר את הטבלה עם משך החיים שמוגדר כברירת מחדל למערך הנתונים, או שהתוקף של הטבלה לא פג. --external_table_definition=STRINGמציין הגדרת טבלה ליצירת טבלה חיצונית.
בטבלאות חיצוניות של Cloud Storage ושל Google Drive:
-
--external_table_definition={PATH_TO_FILE|DEFINITION} - הערך יכול להיות נתיב לקובץ שמכיל הגדרת טבלה (
PATH_TO_FILE) או הגדרת טבלה מוטבעת (DEFINITION).
- הפורמט של השדה
DEFINITIONהואSCHEMA@FORMAT=URI. הפורמט של הערך
SCHEMAהוא רשימה מופרדת בפסיקים של הגדרות עמודות, בצורהFIELD:DATA_TYPE, FIELD:DATA_TYPE. אפשר להשמיט את הערךSCHEMAאם פורמט הנתונים מתאר את עצמו (למשל Avro) או אם משתמשים בזיהוי אוטומטי של סכימה.הערך
FORMATמציין את פורמט הנתונים. אפשר להשתמש באחד מהערכים הבאים:AVROCSV-
DATASTORE_BACKUP(הערך הזה משמש ל-Filestore) ICEBERGNEWLINE_DELIMITED_JSONORCPARQUET
אם מציינים קובץ הגדרת טבלה, לא מוסיפים סיומת לשם הקובץ.
לדוגמה:
--external_table_definition=/tmp/tabledef
--external_table_definition=Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
לטבלאות חיצוניות של Bigtable, ולטבלאות BigLake שמבוססות על AWS ועל Azure:
--external_table_definition=PATH_TO_FILE
- הערך חייב להיות נתיב לקובץ שמכיל הגדרת טבלה.
לטבלאות BigLake שמבוססות על Cloud Storage:
--external_table_definition=FORMAT=BUCKET_PATH@REGION.CONNECTION_NAME:הערך
FORMATמציין את פורמט הנתונים. אפשר להשתמש באחד מהערכים הבאים:AVROCSVNEWLINE_DELIMITED_JSONICEBERGORCPARQUET
BUCKET_PATHהוא הנתיב לקובץ אחד או יותר ב-Cloud Storage שמכילים את נתוני הטבלה של BigLake. אפשר לציין אתBUCKET_PATHבפורמטים הבאים:- לקובץ אחד:
gs://bucket_name/[folder_name/]file_name. - לכמה קבצים בדלי אחד:
gs://bucket_name/[folder_name/]*. לגבי מספר קבצים בכמה דליים:
gs://mybucket1/*,gs://mybucket2/folder5/*.אפשר להשתמש בתווים כלליים לחיפוש כדי להגביל את הקבצים שנכללים בטבלת BigLake. לדוגמה, אם ה-bucket מכיל כמה סוגים של נתונים, אפשר להגדיר שהטבלה תשתמש רק בקובצי PARQUET על ידי ציון
gs://bucket_name/*.parquet. מידע נוסף על שימוש בתווים כלליים לחיפוש זמין במאמר תווים כלליים לחיפוש ב-URI.
- לקובץ אחד:
הערך
REGIONמציין את האזור או את האזור במספר אזורים שמכיל את החיבור.הערך
CONNECTION_NAMEמציין את השם של החיבור למשאב בענן שבו רוצים להשתמש עם הטבלה החיצונית הזו. החיבור קובע באיזה חשבון שירות המערכת תשתמש כדי לקרוא נתונים מ-Cloud Storage.
--external_table_definition=BUCKET_PATH@REGION.CONNECTION_NAME:
BUCKET_PATHהוא הנתיב לקטגוריה של Cloud Storage שמכילה את האובייקטים שמיוצגים בטבלת האובייקטים, בפורמטgs://bucket_name/[folder_name/]*.אפשר לציין כמה קטגוריות על ידי ציון כמה נתיבים, לדוגמהgs://mybucket1/*,gs://mybucket2/folder5/*.אפשר להשתמש בתווים כלליים לחיפוש כדי להגביל את האובייקטים שכלולים בטבלת האובייקטים. לדוגמה, אם בקטע הנתונים יש כמה סוגים של נתונים לא מובְנים, אפשר ליצור את טבלת האובייקטים רק על אובייקטים מסוג PDF על ידי ציון
gs://bucket_name/*.pdf. מידע נוסף על שימוש בתווים כלליים לחיפוש מופיע במאמר תווים כלליים לחיפוש של URI.הערך
REGIONמציין את האזור או את האזור במספר אזורים שמכיל את החיבור.הערך
CONNECTION_NAMEמציין את השם של החיבור למשאב בענן שבו רוצים להשתמש עם הטבלה החיצונית הזו. החיבור קובע באיזה חשבון שירות המערכת תשתמש כדי לקרוא נתונים מ-Cloud Storage.
-
--file_set_spec_type=FILE_SET_SPEC_TYPEמציין איך לפרש את כתובות ה-URI של המקור.
-
FILE_SYSTEM_MATCH: מרחיב את ה-URI של המקור על ידי הצגת רשימת הקבצים ממאגר האובייקטים. זו התנהגות ברירת המחדל אם לא מוגדר FileSetSpecType. -
NEW_LINE_DELIMITED_MANIFEST: מציין שכתובות ה-URI שסופקו הן קובצי מניפסט שמופרדים באמצעות שורות חדשות, עם URI אחד בכל שורה. לא ניתן להשתמש ב-URI עם תווים כלליים בקובצי המניפסט, וכל קובצי הנתונים שאליהם יש הפניה חייבים להיות באותו מאגר כמו המניפסט.
לדוגמה, אם יש לכם URI של מקור
"gs://bucket/path/file"וה-file_set_spec_typeהואFILE_SYSTEM_MATCH, הקובץ ישמש ישירות כקובץ נתונים. אם הערך שלfile_set_spec_typeהואNEW_LINE_DELIMITED_MANIFEST, כל שורה בקובץ מתפרשת כ-URI שמפנה לקובץ נתונים.-
--reference_file_schema_uri=URIמציינת את הנתיב לקובץ עזר עם סכימת הטבלה הצפויה ליצירת טבלאות חיצוניות. שווה ערך ל-
ExternalDataConfiguration.referenceFileSchemaUri. הסימון הבוליאני הזה מופעל בפורמטים Avro, ORC ו-PARQUET.--label=KEY:VALUEמציין תווית לטבלה. אפשר לחזור על האפשרות הזו כדי לציין כמה תוויות.
--max_staleness=INTERVALהמאפיין הזה מציין אם פעולות שמתבצעות בטבלה משתמשות במטא-נתונים ששמורים במטמון, ומהי מידת העדכניות של המטא-נתונים ששמורים במטמון שנדרשת כדי שהפעולה תוכל להשתמש בהם.
האפשרות הזו רלוונטית לטבלאות BigLake ולטבלאות אובייקטים.
כדי להשבית את השמירה במטמון של המטא-נתונים, מציינים את הערך 0. (זוהי ברירת המחדל)
כדי להפעיל שמירת מטא-נתונים במטמון, צריך לציין ערך של מרווח זמן בין 30 דקות ל-7 ימים, באמצעות הפורמט
Y-M D H:M:Sשמתואר במסמכי התיעוד של סוג הנתוניםINTERVAL. לדוגמה, כדי להגדיר את מרווח הזמן של הנתונים הלא עדכניים ל-4 שעות, צריך לציין0-0 0 4:0:0. אם הערך הזה מוגדר, פעולות שמתבצעות בטבלה משתמשות במטא נתונים שנשמרו במטמון אם הם רעננו ב-4 השעות האחרונות. אם המטא-נתונים שנשמרו במטמון ישנים יותר, הפעולה חוזרת לאחור לאחזור מטא-נתונים מ-Cloud Storage.--object_metadata=STRINGמגדירים את הערך של הדגל הזה ל-
SIMPLEכשיוצרים טבלת אובייקטים.נדרש רק כשיוצרים טבלת אובייקטים.
--range_partitioning=COLUMN_NAME,START,END,INTERVALמציינים אפשרויות לחלוקה למחיצות של טווח מספרים שלמים, באופן הבא:
-
column_nameהיא העמודה שמשמשת ליצירת מחיצות של טווח מספרים שלמים. -
startהיא ההתחלה של חלוקה למחיצות (partitioning) של הטווח, כולל. -
endהוא סוף חלוקת הטווח, לא כולל. -
intervalהוא הרוחב של כל טווח במחיצה.
לדוגמה:
--range_partitioning=customer_id,0,10000,100
-
--require_partition_filter={true|false}כדי לדרוש מסנן מחיצות לשאילתות בטבלה שצוינה, מגדירים את הערך
true. הדגל הזה רלוונטי רק לטבלאות עם חלוקה למחיצות. ערך ברירת המחדל הואfalse.--schema={SCHEMA_FILE|SCHEMA}מציינים את הנתיב לקובץ סכימת JSON מקומי או רשימה מופרדת בפסיקים של הגדרות עמודות בפורמט
FIELD:DATA_TYPE, FIELD:DATA_TYPE. אם אתם משתמשים בקובץ סכימה, אל תוסיפו סיומת לשם הקובץ.דוגמאות:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--time_partitioning_expiration=SECONDSמספר שלם שמציין (בשניות) מתי צריך למחוק מחיצה מבוססת-זמן. זמן התפוגה הוא תאריך ה-UTC של המחיצה בתוספת הערך השלם. מספר שלילי מציין שאין תאריך תפוגה.
--time_partitioning_field=COLUMN_NAMEמציין את השדה שמשמש לקביעת אופן היצירה של מחיצה מבוססת-זמן. אם מופעלת חלוקה למחיצות לפי זמן בלי הערך הזה, הטבלה מחולקת למחיצות לפי זמן הטעינה.
--time_partitioning_type=INTERVALהגדרה של חלוקה למחיצות (partitioning) לפי זמן בטבלה והגדרת סוג המחיצה. אפשר להשתמש באחד מהערכים הבאים:
DAYHOURMONTHYEAR
--use_avro_logical_types={true|false}אם החלק
FORMATשל הדגל--external_table_definitionמוגדר לערךAVRO, הדגל הזה מציין אם להמיר סוגים לוגיים לסוגים התואמים שלהם (למשלTIMESTAMP) במקום להשתמש רק בסוגים הגולמיים שלהם (למשלINTEGER).--parquet_enable_list_inference={true|false}אם החלק
FORMATשל הדגל--external_table_definitionמוגדר לערךPARQUET, הדגל הזה מציין אם להשתמש בהסקת סכימה עבור סוגים לוגיים של ParquetLIST.--parquet_enum_as_string={true|false}אם החלק
FORMATשל הדגל--external_table_definitionמוגדר כ-PARQUET, הדגל הזה מציין אם להסיק סוגים לוגיים של ParquetENUMכערכים שלSTRING.
מידע נוסף זמין במאמר יצירה ושימוש בטבלאות.
bq mk --transfer_config
יצירת הגדרת העברה. יש תמיכה בדגלים הבאים:
--data_source=DATA_SOURCE- מציין את מקור הנתונים. חובה כשיוצרים הגדרת העברה. משתמשים באחד מהערכים הבאים:
-
amazon_s3– העברת נתונים ב-Amazon S3 -
azure_blob_storage– העברת נתונים מ-Azure Blob Storage -
dcm_dt- העברת נתונים מ-Campaign Manager -
google_cloud_storage- Cloud Storage העברת נתונים -
cross_region_copy– העתקה של מערך נתונים -
dfp_dt– העברת נתונים ב-Google Ad Manager -
displayvideo- העברת נתונים מ-Display & Video 360 -
google_ads– העברת נתוני מודעות ב-Google Ads -
merchant_center– העברת נתונים מ-Google Merchant Center -
mysql- העברת נתונים ב-MySQL -
play– העברת נתונים מ-Google Play -
scheduled_query– העברת נתונים של שאילתות מתוזמנות -
search_ads- העברת נתונים מ-Search Ads 360 youtube_channel– העברת נתונים של ערוץ YouTube-
youtube_content_owner– העברת נתונים של בעלי תוכן ב-YouTube -
redshift- Amazon Redshift migration -
on_premises– Teradata migration
--display_name=DISPLAY_NAME- מציין את השם המוצג של הגדרת ההעברה.
--no_auto_scheduling={true|false}- האפשרות הזו משביתה את התזמון האוטומטי של הרצות של העברת נתונים להגדרה הזו.
ערך ברירת המחדל הוא
false. -
--params={"PARAMETER":"VALUE"}או-p={"PARAMETER":"VALUE"}
- מציין את הפרמטרים של הגדרת ההעברה בפורמט JSON. הפרמטרים משתנים בהתאם למקור הנתונים.
--refresh_window_days=DAYS
- מספר שלם שמציין את חלון הרענון של הגדרת ההעברה בימים. ערך ברירת המחדל הוא
0. --service_account_name=SERVICE_ACCOUNT- ההגדרה מציינת חשבון שירות שישמש כפרטי הכניסה להגדרת ההעברה.
--target_dataset=DATASET- מציין את מערך נתוני היעד להגדרת ההעברה.
--table_filter=TABLES- המאפיין הזה נמצא בשימוש רק עם מקור הנתונים
google_ads. הפרמטרTABLESהוא רשימה מופרדת בפסיקים של טבלאות שרוצים לכלול בהעברה. כדי להחריג טבלה, מוסיפים מקף (-) לפני שם הטבלה. ערך ברירת המחדל כולל את כל הטבלאות בהעברה. --destination_kms_key=KEY
- מציין מזהה משאב מפתח של Cloud KMS להצפנת הנתונים בטבלת היעד.
למידע על שימוש בפקודה bq mk עם שירות העברת נתונים ל-BigQuery, אפשר לעיין במאמרים הבאים:
- הגדרת העברה מ-Amazon S3
- הגדרת העברה מ-Campaign Manager
- הגדרת העברה של Cloud Storage
- הגדרת העברה מ-Google Ad Manager
- הגדרת העברה ל-Google Ads
- הגדרת העברה ב-Google Merchant Center (בטא)
- הגדרת העברה ב-Google Play
- הגדרת העברה ב-Search Ads 360 (בטא)
- הגדרת העברה של ערוץ YouTube
- הגדרת העברה של בעלות על תוכן ב-YouTube
- העברת נתונים מ-Amazon Redshift
- העברת נתונים מ-Teradata
bq mk --transfer_run
יוצרת הרצה של העברת נתונים בזמן או בטווח הזמן שצוינו באמצעות ההגדרה שצוינה להעברת נתונים.
תקציר
bq mk --transfer_run [--run_time=RUN_TIME | --start_time=START_TIME --end_time=END_TIME] CONFIG
יש תמיכה בדגלים הבאים:
--run_time=RUN_TIME- חותמת זמן שמציינת את השעה שבה יתבצע תזמון של הרצת העברת הנתונים.
--start_time=START_TIME- חותמת זמן שמציינת את שעת ההתחלה של טווח הפעלות של העברת נתונים.
--end_time=END_TIME- חותמת זמן שמציינת את שעת הסיום של טווח של הפעלות של העברת נתונים.
הפורמט של חותמות הזמן הוא RFC3339 UTC 'זולו'.
הארגומנט CONFIG מציין הגדרה קיימת של העברת נתונים.
דוגמאות
bq mk --transfer_run \ --run_time=2021-01-20T17:00:00.00Z \ projects/p/locations/l/transferConfigs/c
bq mk --transfer_run \ --start_time=2020-12-19T16:39:57-08:00 \ --end_time=2020-12-19T20:39:57-08:00 \ projects/p/locations/l/transferConfigs/c
bq mk --view
יצירת תצוגה. יש תמיכה בדגלים הבאים:
--add_tags=TAGS- מציינים את התגים שמצורפים לתצוגה החדשה, בהפרדה באמצעות פסיקים. לדוגמה:
556741164180/env:prod,myProject/department:sales. לכל תג צריך להיות שם מפתח במרחב השמות ושם מקוצר של ערך. --description=DESCRIPTION- מציינת את תיאור התצוגה.
--expiration=SECONDS- מציין את משך החיים של התצוגה. אם הערך של
SECONDSהוא0, התוקף של התצוגה לא יפוג. אם לא מציינים את האפשרות--expiration, BigQuery יוצר את התצוגה עם משך החיים של הטבלה שמוגדר כברירת מחדל במערך הנתונים. --label=KEY:VALUE- מציינים תווית לתצוגה. חוזרים על האפשרות הזו כדי לציין כמה תוויות.
--use_legacy_sql={true|false}- הגדרה ל-
falseכדי להשתמש בשאילתת GoogleSQL ליצירת תצוגה. ערך ברירת המחדל נקבע לפי הגדרות התצורה. אם לא מציינים את הגדרת התצורה, ערך ברירת המחדל הואtrue; נעשה שימוש ב-SQL מדור קודם. --view_udf_resource=FILE- מציין את ה-URI של Cloud Storage או את הנתיב לקובץ קוד מקומי שנטען ומוערך באופן מיידי כמשאב של פונקציה בהגדרת המשתמש שמשמשת את שאילתת ה-SQL של התצוגה. אפשר לחזור על האפשרות הזו כדי לציין כמה קבצים.
מידע נוסף זמין במאמר יצירת תצוגות.
bq mkdef
משתמשים בפקודה bq mkdef כדי ליצור הגדרת טבלה בפורמט JSON לנתונים שמאוחסנים ב-Cloud Storage או ב-Google Drive.
תקציר
bq mkdef [FLAGS] URI [ > FILE ]
דגלים וארגומנטים
הפקודה bq mkdef משתמשת בדגלים ובארגומנטים הבאים:
--autodetect={true|false}
- מציינים אם להשתמש בזיהוי אוטומטי של סכימה לנתוני CSV ו-JSON. ערך ברירת המחדל הוא
false. --connection_id=CONNECTION_ID
- המזהה של משאב חיבור שמשמש לאימות.
--hive_partitioning_modeמגדיר איך לקבוע את סכמת החלוקה למחיצות כש-BigQuery קורא נתונים. יש תמיכה במצבים הבאים:
-
AUTO: מסיק אוטומטית את השמות והסוגים של מפתחות החלוקה. -
STRINGS: הסקת שמות של מפתחות חלוקה אוטומטית. כל הסוגים מטופלים כמחרוזות. -
CUSTOM: מציינים את סכימת החלוקה למחיצות בקידומת של ה-URI במקור.
ערך ברירת המחדל הוא
AUTO.-
--hive_partitioning_source_uri_prefixמציינת את הקידומת המשותפת של כתובות ה-URI של המקור. הערך של הקידומת הנפוצה הוא החלק ב-URI שמופיע מיד לפני הקידוד של מפתח המחיצה. אם ציינתם
CUSTOMבמצב, אתם צריכים לציין גם את סכימת החלוקה למחיצות.לדוגמה, קבצים עם המבנה הבא:
gs://bucket/path_to_table/dt=2019-06-01/country=USA/id=7/file.avrogs://bucket/path_to_table/dt=2019-05-31/country=CA/id=3/file.avro
אם משתמשים במצבים
AUTOאוSTRINGS, אפשר להשתמש בערכים הבאים:gs://bucket/path_to_tablegs://bucket/path_to_table/
אם משתמשים במצב
CUSTOM, אפשר להשתמש בערכים הבאים:gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:INTEGER}gs://bucket/path_to_table/{dt:STRING}/{country:STRING}/{id:INTEGER}gs://bucket/path_to_table/{dt:DATE}/{country:STRING}/{id:STRING}
מידע נוסף על השימוש בפקודה bq mkdef זמין במאמר יצירה של קובץ הגדרת טבלה למקור נתונים חיצוני.
-
--ignore_unknown_values={true|false}או-i={true|false}
- מציין אם להתעלם מערכים בשורה שלא מופיעים בסכימה. ערך ברירת המחדל הוא
false. --metadata_cache_mode=STRINGההגדרה קובעת אם מטמון המטא-נתונים של הטבלה יתעדכן באופן אוטומטי או ידני.
אם מגדירים את הערך
AUTOMATIC, מטמון המטא-נתונים מתעדכן במרווח זמן שמוגדר על ידי המערכת, בדרך כלל בין 30 ל-60 דקות.מגדירים את הערך
MANUALאם רוצים לרענן את מטמון המטא-נתונים לפי לוח זמנים שקובעים. במקרה כזה, אפשר להתקשר אלBQ.REFRESH_EXTERNAL_METADATA_CACHEמערכת ההליכים כדי לרענן את המטמון.אם מגדירים את הדגל
--max_stalenessבאמצעות הפקודהbq mk, צריך להגדיר גם את הדגל--metadata_cache_mode.--parquet_enable_list_inference={true|false}אם הערך של
source_formatהואPARQUET, הדגל הזה מציין אם להשתמש בהסקת סכימה עבור סוגים לוגיים של ParquetLIST. ערך ברירת המחדל הואfalse.--parquet_enum_as_string={true|false}אם
source_formatמוגדר כ-PARQUET, הדגל הזה מציין אם להסיק סוגים לוגיים של ParquetENUMכערכים שלSTRING. ערך ברירת המחדל הואfalse.--file_set_spec_type=FILE_SET_SPEC_TYPEמציין איך לפרש כתובות URI של מקורות.
-
FILE_SYSTEM_MATCH: מרחיב את ה-URI של המקור על ידי הצגת רשימת הקבצים ממאגר האובייקטים. זו התנהגות ברירת המחדל אם לא מוגדר FileSetSpecType. -
NEW_LINE_DELIMITED_MANIFEST: מציין שכתובות ה-URI שסופקו הן קובצי מניפסט שמופרדים באמצעות שורות חדשות, עם URI אחד בכל שורה. לא ניתן להשתמש ב-URI עם תווים כלליים בקובצי המניפסט, וכל קובצי הנתונים שאליהם יש הפניה חייבים להיות באותו מאגר כמו המניפסט.
לדוגמה, אם יש לכם URI של מקור
"gs://bucket/path/file"וה-file_set_spec_typeהואFILE_SYSTEM_MATCH, הקובץ ישמש ישירות כקובץ נתונים. אם הערך שלfile_set_spec_typeהואNEW_LINE_DELIMITED_MANIFEST, כל שורה בקובץ מתפרשת כ-URI שמפנה לקובץ נתונים.-
--source_format=FORMATמציינת את הפורמט של נתוני המקור. אפשר להשתמש באחד מהערכים הבאים:
AVROCSV-
DATASTORE_BACKUP(הערך הזה משמש ל-Filestore) GOOGLE_SHEETSNEWLINE_DELIMITED_JSONORCPARQUET
ערך ברירת המחדל הוא
CSV.--use_avro_logical_types={true|false}אם הדגל
--source_formatמוגדר לערךAVRO, הדגל הזה מציין אם להמיר סוגים לוגיים לסוגים התואמים שלהם (למשלTIMESTAMP) במקום להשתמש רק בסוגים הגולמיים שלהם (למשלINTEGER). ברירת המחדל היאfalse.
bq partition
אפשר להשתמש בפקודה bq partition כדי להמיר קבוצה של טבלאות עם סיומות של יחידות זמן, כמו טבלאות שמסתיימות ב-YYYYMMDD לחלוקה לפי תאריך, לטבלאות מחולקות.
תקציר
bq partition [FLAGS] SOURCE_TABLE_BASE_NAME PARTITION_TABLE
דגלים וארגומנטים
הפקודה bq partition משתמשת בדגלים ובארגומנטים הבאים:
-
--no_clobber={true|false}או-n={true|false} - כדי למנוע החלפה של מחיצה קיימת,
מגדירים את הערך
true. ערך ברירת המחדל הואfalse. אם המחיצה קיימת, היא תידרס. --time_partitioning_expiration=SECONDS
- מספר שלם שמציין (בשניות) מתי צריך למחוק מחיצה מבוססת-זמן. זמן התפוגה הוא תאריך ה-UTC של המחיצה בתוספת הערך השלם. מספר שלילי מציין שאין תאריך תפוגה.
--time_partitioning_type=INTERVALמציין את סוג המחיצה. בטבלה הבאה מפורטים הערכים האפשריים של הדגל
INTERVALופורמט הסיומת של יחידת הזמן הצפוי לכל אחד מהם:INTERVALסיומת HOURYYYYMMDDHHDAYYYYYMMDDMONTHYYYYMMYEARYYYYSOURCE_TABLE_BASE_NAMEהשם הבסיסי של קבוצת הטבלאות עם סיומות של יחידות זמן.
PARTITION_TABLEהשם של טבלת היעד המחולקת למחיצות.
מידע נוסף על השימוש בפקודה bq partition זמין במאמר המרת טבלאות עם חלוקה לפי תאריך לטבלאות עם חלוקה למחיצות לפי זמן ההוספה.
bq query
משתמשים בפקודה bq query כדי ליצור עבודת שאילתה שמריצה את שאילתת ה-SQL שצוינה.
תקציר
bq query [FLAGS] 'QUERY'
דגלים וארגומנטים
הפקודה bq query משתמשת בדגלים ובארגומנטים הבאים:
--allow_large_results={true|false}- כדי להפעיל גדלים גדולים של טבלאות יעד לשאילתות SQL מדור קודם, צריך להגדיר את הערך
true. ערך ברירת המחדל הואfalse. --append_table={true|false}- כדי להוסיף נתונים לטבלת יעד, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. --batch={true|false}- כדי להריץ את השאילתה במצב אצווה, מגדירים את הערך ל-
true. ערך ברירת המחדל הואfalse. --clustering_fields=COLUMNS
- רשימה מופרדת בפסיקים של עד ארבעה שמות עמודות שמציינים שדות לשימוש באשכול של טבלת היעד בשאילתה. אם מציינים חלוקה למחיצות, הטבלה מחולקת למחיצות ואז כל מחיצה מקובצת באמצעות העמודות שצוינו.
--connection_property=KEY=VALUEצמד מפתח/ערך שמאפשר לציין מאפיינים ברמת החיבור כדי להתאים אישית את אופן הפעולה של השאילתה. כדי לציין נכסים נוספים, חוזרים על השלב הזה.
אלה מאפייני החיבור הנתמכים:
-
dataset_project_id: מייצג את פרויקט ברירת המחדל של מערכי הנתונים שמשמשים בשאילתה, בדומה ל@@dataset_project_idמשתנה המערכת. -
query_label: משייכת את השאילתה לתווית משימה נתונה. אם מוגדרת תווית, כל השאילתות הבאות בסקריפט או בסשן מקבלות את התווית הזו. פרטים על דרישות הפורמט של תוויות שאילתה מופיעים בשדהlabelsבמשאבJobConfiguration. -
service_account: מציין חשבון שירות שישמש להרצת השאילתה. לדוגמה:--connection_property=service_account=myserviceaccount@project.iam.gserviceaccount.com. -
session_id: משייך את השאילתה לסשן נתון. -
time_zone: מייצג את אזור הזמן שמוגדר כברירת מחדל לשימוש בהרצת השאילתה.
-
--continuous={true|false}כדי להריץ שאילתה מתמשכת, מגדירים את הערך
true. ערך ברירת המחדל הואfalse.--destination_kms_key=KEYמציינים מזהה משאב מפתח של Cloud KMS להצפנת הנתונים בטבלת היעד.
--destination_schema={PATH_TO_FILE|SCHEMA}הנתיב לקובץ סכימת JSON מקומי או רשימה מופרדת בפסיקים של הגדרות עמודות בפורמט
FIELD:DATA_TYPE, FIELD:DATA_TYPE.שינויים בסכימה מתרחשים בפעולה נפרדת מהרצת השאילתה. אם כותבים תוצאות של שאילתה לטבלה באמצעות ציון הדגל
--destination_table, והשאילתה מעלה חריג, יכול להיות ששינויים בסכימה יידלגו. אם זה קורה, צריך לבדוק את הסכימה של טבלת היעד ולעדכן אותה באופן ידני אם צריך.--destination_table=TABLEאם מציינים את האפשרות הזו, תוצאות השאילתה נשמרות ב-
TABLE. מציינים אתTABLEבפורמט הבא:PROJECT:DATASET.TABLE. אם לא מציינים אתPROJECT, המערכת מניחה שזה הפרויקט הנוכחי. אם לא מציינים את הדגל--destination_table, תוצאות השאילתה נשמרות בטבלה זמנית.דוגמאות:
--destination_table myProject:myDataset.myTable
--destination_table myDataset.myTable
--dry_run={true|false}אם מציינים את האפשרות הזו, השאילתה מאומתת אבל לא מורצת.
--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}מציין את שם הטבלה ואת הגדרת הטבלה בשאילתת טבלה חיצונית. הגדרת הטבלה יכולה להיות נתיב לקובץ סכימת JSON מקומי או הגדרת טבלה מוטמעת. הפורמט להגדרת טבלה מוטבעת הוא
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI. הפורמט של הערךSCHEMAהוא רשימה מופרדת בפסיקים של הגדרות עמודות, בצורהFIELD:DATA_TYPE, FIELD:DATA_TYPE. אם משתמשים בקובץ הגדרת טבלה, לא מוסיפים סיומת לשם הקובץ.לדוגמה:
--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
אפשר לחזור על הדגל הזה כדי להריץ שאילתות על כמה טבלאות.
--flatten_results={true|false}כדי לא לאפשר את השטחת השדות בתוך שדות והשדות החוזרים בתוצאות של שאילתות SQL מדור קודם, צריך להגדיר את הערך
false. ערך ברירת המחדל הואtrue.--label=KEY:VALUEמציין תווית למשימת השאילתה. אפשר לחזור על האפשרות הזו כדי לציין כמה תוויות.
-
--max_rows=MAX_ROWSאו-n=MAX_ROWS מספר שלם שמציין את מספר השורות שיוחזרו בתוצאות השאילתה. ערך ברירת המחדל הוא
100.--maximum_bytes_billed=MAX_BYTESמספר שלם שמגביל את מספר הבייטים שחויבו על השאילתה. אם השאילתה תחרוג מהמגבלה, הרצת השאילתה תיכשל (החשבון לא יחויב). אם לא מציינים את הדגל הזה, החיוב יהיה לפי ברירת המחדל שהוגדרה בפרויקט.
--max_statement_results=VALUEמספר שלם שמציין את המספר המקסימלי של הצהרות סקריפט שמוצגות בתוצאות השאילתה. ערך ברירת המחדל הוא
100.--min_completion_ratio=RATIO(ניסיוני) מספר מ-0 עד 1.0 שמציין את החלק המינימלי של הנתונים שצריך לסרוק לפני שהשאילתה מחזירה תוצאות. אם לא מציינים את הדגל, המערכת משתמשת בערך ברירת המחדל של השרת
1.0.--parameter={PATH_TO_FILE|PARAMETER}קובץ JSON שמכיל רשימה של פרמטרים של שאילתה, או פרמטר של שאילתה בפורמט
NAME:TYPE:VALUE. שם ריק יוצר פרמטר מיקום. אם משמיטים אתTYPE, הפונקציה פועלת בהנחה שהסוג הואSTRING. הערךNULLמציין ערך null. אפשר לחזור על האפשרות הזו כדי לציין כמה פרמטרים.לדוגמה:
--parameter=/tmp/queryParams
--parameter=Name::Oscar
--parameter=Count:INTEGER:42
--range_partitioning=COLUMN_NAME,START,END,INTERVALמשתמשים בדגל
--destination_table. מציינת אפשרויות לחלוקה למחיצות של טווח מספרים שלמים בטבלת היעד. הערך הוא רשימה מופרדת בפסיקים בפורמטcolumn_name,start,end,interval, שבו-
column_nameהיא העמודה שמשמשת ליצירת מחיצות של טווח מספרים שלמים. -
startהיא ההתחלה של חלוקה למחיצות (partitioning) של הטווח, כולל. -
endהוא סוף חלוקת הטווח, לא כולל. -
intervalהוא הרוחב של כל טווח במחיצה.
לדוגמה:
--range_partitioning=customer_id,0,10000,100
-
--replace={true|false}כדי להחליף את טבלת היעד בתוצאות השאילתה, מגדירים את הערך
true. כל הנתונים והסכימה הקיימים יימחקו. כל מפתח Cloud KMS יוסר גם הוא, אלא אם מציינים את הדגל--destination_kms_key. ערך ברירת המחדל הואfalse.--require_cache={true|false}אם מציינים את הפרמטר הזה, השאילתה תופעל רק אם אפשר לאחזר תוצאות מהמטמון.
--require_partition_filter={true|false}אם מציינים את האפשרות הזו, נדרש מסנן מחיצות לשאילתות על הטבלה שסופקה. אפשר להשתמש בדגל הזה רק עם טבלה מחולקת למחיצות.
- **
--reservation_id=RESERVATION תצוגה מקדימה. אם מצוין, ההזמנה שבה השאילתה פועלת.
--rpc={true|false}כדי להשתמש ב-API לשאילתות בסגנון RPC במקום ב-method
jobs.insertשל API בארכיטקטורת REST, מגדירים את הערךtrue. ערך ברירת המחדל הואfalse.--schedule="SCHEDULE"הופך שאילתה לשאילתה מתוזמנת חוזרת. צריך להגדיר לוח זמנים לתדירות שבה השאילתה תופעל.
דוגמאות:
--schedule="every 24 hours"
--schedule="every 3 hours"
במאמר עיצוב התזמון מופיע תיאור של תחביר התזמון.
--schema_update_option=OPTIONכשמוסיפים נתונים לטבלה במשימת טעינה או במשימת שאילתה, או כשמחליפים מחיצה בטבלה, צריך לציין איך לעדכן את הסכימה של טבלת היעד. אפשר להשתמש באחד מהערכים הבאים:
-
ALLOW_FIELD_ADDITION: מאפשר להוסיף שדות חדשים. -
ALLOW_FIELD_RELAXATION: אפשר להרחיב את השדותREQUIREDל-NULLABLE.
אפשר לחזור על הדגל הזה כדי לציין כמה אפשרויות לעדכון הסכימה.
-
-
--start_row=ROW_NUMBERאו-s=ROW_NUMBER מספר שלם שמציין את השורה הראשונה שתוחזר בתוצאת השאילתה. ערך ברירת המחדל הוא
0.--target_dataset=DATASETכשמציינים את האפשרות
--schedule, מתבצע עדכון של מערך הנתונים של היעד עבור שאילתה מתוזמנת. השאילתה חייבת להיות DDL או DML.--time_partitioning_expiration=SECONDSמשתמשים בדגל
--destination_table. מספר שלם שמציין (בשניות) מתי צריך למחוק מחיצה מבוססת-זמן. מועד התפוגה הוא התאריך של המחיצה ב-UTC בתוספת הערך השלם. מספר שלילי מציין שאין תפוגה.--time_partitioning_field=COLUMN_NAMEמשתמשים בדגל
--destination_table. מציין את עמודת החלוקה למחיצות (partitioning) עבור חלוקה למחיצות על סמך זמן. אם מפעילים חלוקה למחיצות לפי זמן בלי הערך הזה, הטבלה מחולקת למחיצות לפי זמן כתיבת הנתונים.--time_partitioning_type=INTERVALמשתמשים בדגל
--destination_table. מציין את סוג החלוקה למחיצות של טבלת היעד. אפשר להשתמש באחד מהערכים הבאים:DAYHOURMONTHYEAR
--udf_resource=FILEהדגל הזה רלוונטי רק לשאילתות SQL מדור קודם. מציין את ה-URI של Cloud Storage או את הנתיב לקובץ מקומי שמכיל משאב של פונקציה בהגדרת המשתמש, שייעשה בו שימוש בשאילתת SQL מדור קודם. אפשר לחזור על האפשרות הזו כדי לציין כמה קבצים.
--use_cache={true|false}כדי להשבית את השמירה במטמון של תוצאות שאילתות, מגדירים את הערך
false. ערך ברירת המחדל הואtrue.--use_legacy_sql={true|false}כדי להריץ שאילתת GoogleSQL, מגדירים את הערך
false. ערך ברירת המחדל נקבע לפי הגדרות התצורה. אם לא מציינים את הגדרת התצורה, ערך ברירת המחדל הואtrue, והפקודה משתמשת ב-SQL מדור קודם.--job_timeout_ms={string (Int64Value)}מציין את משך הזמן המקסימלי להרצת שאילתה באלפיות השנייה. אם חורגים ממגבלת הזמן הזו, מערכת BigQuery מנסה להפסיק את העבודה.
QUERYהשאילתה שרוצים להריץ. אפשר לציין את השאילתה באחת מהשיטות הבאות:
מציינים מחרוזת שמכילה את השאילתה.
אם אתם צריכים להשתמש במחרוזות נוספות בתוך השאילתה, אתם צריכים לפעול לפי כללי הציטוט של המעטפת שבה אתם משתמשים, כמו Bash או PowerShell.
בדוגמה הבאה מוצגת גישה טיפוסית ב-Bash, שבה משתמשים במירכאות כפולות כדי לציין את המחרוזות המילוליות בשאילתה, ואז מקיפים את השאילתה עצמה במירכאות בודדות:
'SELECT * FROM mydataset.mytable WHERE column1 = "value";'
אם מעתיקים את השאילתה ממיקום אחר, צריך גם להסיר את כל התגובות בשאילתה.
מעבירים סקריפט SQL שמכיל את השאילתה. בדוגמה הבאה אפשר לראות איך מעבירים סקריפט SQL במעטפת Bash:
bq query --use_legacy_sql=false < query.sql
מידע נוסף על השימוש בפקודה bq query זמין במאמר הרצת שאילתה.
bq remove-iam-policy-binding
משתמשים בפקודה bq remove-iam-policy-binding כדי לאחזר את מדיניות IAM של משאב ולהסיר קישור מהמדיניות, בפעולה אחת.
המשאב יכול להיות טבלה או תצוגה.
הפקודה הזו היא חלופה לתהליך הבא שכולל שלושה שלבים:
- משתמשים בפקודה
bq get-iam-policyכדי לאחזר את קובץ המדיניות (בפורמט JSON). - עריכת קובץ המדיניות.
- משתמשים בפקודה
bq set-iam-policyכדי לעדכן את המדיניות בלי הקישור.
תקציר
bq remove-iam-policy-binding FLAGS --member=MEMBER_TYPE:MEMBER --role=ROLE RESOURCE
דגלים וארגומנטים
בפקודה bq remove-iam-policy-binding נעשה שימוש בדגלים ובארגומנטים הבאים:
--member=MEMBER_TYPE:MEMBERחובה. משתמשים בדגל
--memberכדי לציין את החבר שהוא חלק מקישור מדיניות ה-IAM. חובה להשתמש בדגל--memberיחד עם הדגל--role. שילוב אחד של הדגלים--memberו---roleשווה לקישור אחד.הערך
MEMBER_TYPEמציין את סוג החבר בקישור מדיניות IAM. אפשר להשתמש באחד מהערכים הבאים:userserviceAccountgroupdomain
הערך
MEMBERמציין את כתובת האימייל או הדומיין של החבר בקישור למדיניות IAM.--role=ROLEחובה. מציינת את חלק התפקיד בקישור של מדיניות IAM. חובה להשתמש בדגל
--roleיחד עם הדגל--member. שילוב אחד של הדגלים--memberו---roleשווה לקישור אחד.-
--table={true|false}או-t={true|false} זה שינוי אופציונלי. כדי להסיר קישור ממדיניות ה-IAM של טבלה או תצוגה, מגדירים את הערך
true. ערך ברירת המחדל הואfalse.
RESOURCE היא הטבלה או התצוגה שרוצים להסיר את הקישור של המדיניות שלהן.
מידע נוסף זמין במאמר הסבר על מדיניות IAM.
bq rm
משתמשים בפקודה bq rm כדי למחוק משאב BigQuery.
תקציר
bq rm [FLAGS] RESOURCE
דגלים וארגומנטים
הפקודה bq rm משתמשת בדגלים ובארגומנטים הבאים:
--capacity_commitment={false|true}
- כדי למחוק התחייבות לקיבולת, מגדירים את הערך
true, מציינים את המיקום של ההתחייבות שרוצים להסיר באמצעות הדגל--location, ומחליפים אתRESOURCEבמזהה של ההתחייבות שרוצים להסיר. -
--dataset={true|false}או-d={true|false} - כדי למחוק קבוצת נתונים, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. -
--force={true|false}או-f={true|false} - כדי למחוק משאב בלי לקבל הנחיה, מגדירים את הערך ל-
true. ערך ברירת המחדל הואfalse. -
--job={true|false}או-j={true|false} - כדי למחוק משימה, מגדירים את הערך כ-true. ערך ברירת המחדל הוא false.
-
--model={true|false}או-m={true|false} - כדי למחוק מודל BigQuery ML, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. -
--recursive={true|false}או-r{true|false} - כדי למחוק קבוצת נתונים וכל הטבלאות, נתוני הטבלאות או המודלים שבה, מגדירים את האפשרות
true. ערך ברירת המחדל הואfalse. --reservation={true|false}- כדי למחוק הזמנה, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. --reservation_assignment={true|false}- כדי למחוק הקצאה של הזמנה, מגדירים את הערך ל-
true. ערך ברירת המחדל הואfalse. --routine={true|false}- כדי למחוק תרחיש, בוחרים באפשרות
true. ערך ברירת המחדל הואfalse. שגרה יכולה להיות פונקציה מתמידה בהגדרת המשתמש, פונקציית טבלה (גרסת Preview) או פרוצדורה מאוחסנת. -
--table={true|false}או-t={true|false} - כדי למחוק טבלה או תצוגה, מגדירים את האפשרות
true. ערך ברירת המחדל הואfalse. --transfer_config={true|false}- כדי למחוק הגדרת העברה, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. RESOURCE- המשאב שרוצים להסיר.
למידע נוסף על השימוש בפקודה bq rm:
- ניהול מערכי נתונים
- ניהול משימות
- ניהול טבלאות
- ניהול תצוגות
- עבודה עם העברות
- מחיקת תמונות מצב של טבלאות
bq set-iam-policy
משתמשים בפקודה bq set-iam-policy כדי לציין או לעדכן את מדיניות ה-IAM של משאב. המשאב יכול להיות טבלה, תצוגה או הזמנת משבצת זמן.
אחרי שמגדירים את המדיניות, המדיניות החדשה מודפסת ב-stdout. המדיניות היא בפורמט JSON.
הערך בשדה etag במדיניות המעודכנת צריך להיות זהה לערך בשדה etag במדיניות הנוכחית, אחרת העדכון ייכשל. התכונה הזו מונעת עדכונים בו-זמניים.
אפשר לקבל את המדיניות הנוכחית ואת הערך של etag של משאב באמצעות הפקודה bq get-iam-policy.
תקציר
bq set-iam-policy [FLAGS] RESOURCE FILE_NAME
דוגמאות
bq set-iam-policy myDataset.myTable policy.json
bq set-iam-policy --reservation myReservation policy.json
דגלים וארגומנטים
הפקודה bq set-iam-policy משתמשת בדגלים ובארגומנטים הבאים.
-
--table={true|false}או-t={true|false} - אופציונלי. כדי להגדיר את מדיניות ה-IAM של טבלה או תצוגה, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. --reservation={true|false}- כדי להגדיר את מדיניות ה-IAM של הזמנה, מגדירים את האפשרות
true(תצוגה מקדימה). ערך ברירת המחדל הואfalse. כשמשתמשים בדגל הזה, המערכת מתייחסת אלRESOURCEכאל מזהה הזמנה. להזמנה יכולות להיות קידומות אופציונליות של פרויקט ומיקום:myProject:myLocation.myReservation.
RESOURCE היא הטבלה או התצוגה שרוצים לעדכן את המדיניות שלהן.
FILE_NAME הוא השם של קובץ שמכיל את המדיניות בפורמט JSON.
מידע נוסף על הפקודה bq set-iam-policy זמין במאמר שליטה בגישה למשאבים באמצעות IAM.
bq show
משתמשים בפקודה bq show כדי להציג מידע על משאב.
תקציר
bq show [FLAGS] [RESOURCE]
דגלים וארגומנטים
הפקודה bq show משתמשת בדגלים ובארגומנטים הבאים:
--assignee_id=ASSIGNEE- כשמשתמשים בדגל
--reservation_assignment, מציינים את המזהה של תיקייה, ארגון או פרויקט. משתמשים בדגל--assignee_typeכדי לציין איזה סוג של מקבל הקצאה רוצים להציג. --assignee_type=TYPE- כשמשתמשים בו עם הדגל
--reservation_assignment, הוא מציין את סוג הישות שיוצג. משתמשים באחד מהערכים הבאים:FOLDERORGANIZATIONPROJECT
--connection={true|false}- כדי להציג מידע על חיבור, מגדירים את האפשרות
true. ערך ברירת המחדל הואfalse. מידע נוסף מופיע במאמר בנושא צפייה במשאב חיבור. -
--dataset={true|false}או-d={true|false} - כדי להציג מידע על מערך נתונים, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. --encryption_service_account={true|false}
- כדי להציג את חשבון השירות להצפנה של פרויקט, אם הוא קיים, או ליצור חשבון כזה אם הוא לא קיים, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. משתמשים בדגל--project_id. -
--job={true|false}או-j={true|false} - כדי להציג מידע על משימה, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. --job_type=JOB_TYPE- כשמשתמשים בו עם הדגל
--reservation_assignment, מציינים את סוג העבודה של הקצאות ההזמנות שרוצים להציג. משתמשים באחד מהערכים הבאים:QUERYPIPELINEML_EXTERNAL
-
--model={true|false}או-m={true|false}
- To show information about a BigQuery ML model, set to
true. ערך ברירת המחדל הואfalse. --reservation={true|false}- כדי להציג מידע על הזמנה, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. --reservation_assignment={true|false}- כשמגדירים את האפשרות
true, הפקודה מציגה את הקצאות ההזמנות לתיקייה, לארגון או לפרויקט שצוינו. הפקודה מציגה את ההקצאות המפורשות של משאב היעד, אם יש כאלה. אחרת, היא מציגה הקצאות שעברו בירושה ממשאבי הורה. לדוגמה, יכול להיות שפרויקט יקבל בירושה הקצאות מתיקיית האב שלו. כשמשתמשים בדגל הזה, הדגלים--job_type, --assignee_typeו---assignee_idחלים. ערך ברירת המחדל הואfalse. --routine={true|false}- כדי להציג מידע על תרחיש, מגדירים את האפשרות
true. ערך ברירת המחדל הואfalse. שגרה יכולה להיות פונקציה מתמידה בהגדרת המשתמש, פונקציית טבלה (בגרסת Preview) או פרוצדורה מאוחסנת. --schema={true|false}- כדי להציג רק את הסכימה של הטבלה, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. --transfer_config={true|false}- כדי להציג מידע על הגדרות ההעברה, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. --transfer_run={true|false}- כדי להציג מידע על הרצת העברה, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. --view={true|false}- כדי להציג מידע על צפייה, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. RESOURCE- המשאב שרוצים להציג את המידע שלו.
למידע נוסף על השימוש בפקודה bq show:
- קבלת מידע על מערכי נתונים
- יצירה של טבלאות ושימוש בהן
- קבלת מידע על תצוגות מפורטות
- עבודה עם העברות
- ניהול משימות
- קבלת מידע על תמונת מצב של טבלה
bq update
משתמשים בפקודה bq update כדי לשנות משאב.
תקציר
bq update [FLAGS] [RESOURCE]
דגלים וארגומנטים
הפקודה bq update משתמשת בדגלים ובארגומנטים הבאים:
--add_tags=TAGS- האפשרות הזו זמינה רק בטבלאות ובמערכי נתונים. מציינים את התגים שמצורפים למשאב, מופרדים באמצעות פסיקים. לדוגמה:
556741164180/env:prod,myProject/department:sales. לכל תג צריך להיות שם מפתח במרחב השמות ושם מקוצר של ערך. --autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS- מספר המשבצות להתאמה אוטומטית לעומס שהוקצו להזמנה. הערך הזה שווה לערך של גודל ההזמנה המקסימלי פחות מספר המשבצות של ערך הבסיס. האפשרות הזו זמינה רק עם הדגל
--reservationואם ההזמנה נוצרה עם מהדורה. --capacity_commitment={true|false}- כדי לעדכן מחויבות קיבולת, מגדירים את הערך
true. משתמשים בדגל הזה עם הדגלים--merge,--plan,--renewal_plan,--splitו---slots. --clear_all_tags={true|false}- האפשרות הזו זמינה רק בטבלאות ובמערכי נתונים. כדי למחוק את כל התגים ממקור, מגדירים את הערך
true. ערך ברירת המחדל הואfalse. --clear_label=KEY:VALUE- הסרת תווית מהמשאב. כדי לציין את התווית שרוצים להסיר, משתמשים בפורמט
KEY:VALUE. כדי להסיר כמה תוויות, חוזרים על הסימון הזה. --clustering_fields=COLUMNS- מעדכן את מפרט האשכולות של טבלה. הערך COLUMNS הוא רשימה מופרדת בפסיקים של שמות העמודות שבהן יש להשתמש לצורך אשכול. כדי להסיר את האשכולות, מגדירים את הערך של COLUMNS ל-
""(המחרוזת הריקה). מידע נוסף מופיע במאמר בנושא שינוי מפרט האשכול. --target_job_concurrency=CONCURRENCY
- כשמשתמשים בדגל
--reservation, מציינים את מספר היעד של השאילתות שמופעלות בו-זמנית. ערך ברירת המחדל הוא 0, כלומר, מספר המשתמשים בו-זמנית מוגדר באופן אוטומטי על סמך גודל ההזמנה. מידע נוסף זמין במאמר שימוש בתורים של שאילתות. -
--dataset={true|false}או-d={true|false} - כדי לעדכן מערך נתונים, מגדירים את הערך ל-
true. ערך ברירת המחדל הואfalse. --default_kms_key=KEY
- מציין את מזהה משאב המפתח של Cloud KMS שמוגדר כברירת מחדל להצפנת נתוני טבלה במערך נתונים. מפתח ברירת המחדל משמש אם לא מסופק מפתח מפורש ליצירת טבלה או לשאילתה.
--default_partition_expiration=SECONDSמספר שלם שמציין את זמן התפוגה שמוגדר כברירת מחדל, בשניות, לכל המחיצות בטבלאות מחולקות חדשות שנוצרות במערך הנתונים. אין ערך מינימלי לדגל הזה.
מועד התפוגה של מחיצה מוגדר לתאריך ה-UTC של המחיצה בתוספת הערך המספרי. אם המאפיין הזה מוגדר, הוא מבטל את ברירת המחדל של תפוגת הטבלה ברמת מערך הנתונים, אם היא קיימת. אם מציינים את הדגל
--time_partitioning_expirationכשיוצרים או מעדכנים טבלה מחולקת למחיצות, תאריך התפוגה של המחיצות ברמת הטבלה מקבל עדיפות על פני תאריך התפוגה של המחיצות שמוגדר כברירת מחדל ברמת מערך הנתונים. מציינים0כדי להסיר תאריך תפוגה קיים.--default_table_expiration=SECONDSמספר שלם שמעדכן את משך החיים שמוגדר כברירת מחדל, בשניות, לטבלאות שנוצרו לאחרונה במערך נתונים. זמן התפוגה מוגדר לשעה הנוכחית בשעון UTC בתוספת הערך הזה. מציינים
0כדי להסיר את תאריך התפוגה הקיים.--description=DESCRIPTIONעדכון התיאור של מערך נתונים, טבלה, תמונת מצב של טבלה, מודל או תצוגה.
--destination_reservation_id=RESERVATION_IDכשמשתמשים בדגל
--reservation_assignment, ההקצאה הקיימת של המקום השמור מועברת למקום השמור שצוין. הערך הוא המזהה של ההזמנה ליעד. מידע נוסף מופיע במאמר העברת הקצאה להזמנה אחרת.--display_name=DISPLAY_NAMEעדכון השם המוצג של הגדרת העברה.
--etag=ETAGהפעולה מתבצעת כמסנן. המשאב מתעדכן רק אם יש לו ETag שתואם למחרוזת שצוינה בארגומנט
ETAG.--expiration SECONDSכדי לעדכן את תאריך התפוגה של הטבלה, המודל, תמונת המצב של הטבלה או התצוגה, צריך לכלול את הדגל הזה. מחליפים את
SECONDSבמספר השניות שחלפו בין זמן העדכון לבין זמן התפוגה. כדי להסיר את תאריך התפוגה של טבלה, מודל, תמונת מצב של טבלה או תצוגה, מגדירים את הארגומנטSECONDSל-0.--external_table_definition={TABLE::PATH_TO_FILE|TABLE::DEFINITION}מעדכנים טבלה חיצונית עם הגדרת הטבלה שצוינה. הגדרת הטבלה יכולה להיות נתיב לקובץ מקומי של הגדרת טבלה בפורמט JSON או הגדרת טבלה מוטבעת בפורמט
SCHEMA@SOURCE_FORMAT=CLOUD_STORAGE_URI. הערךSCHEMAהוא רשימה מופרדת בפסיקים של הגדרות עמודות, בפורמטFIELD:DATA_TYPE, FIELD:DATA_TYPE. אם משתמשים בקובץ הגדרת טבלה, לא מוסיפים סיומת לשם הקובץ.לדוגמה:
--external_table_definition=myTable::/tmp/tabledef
--external_table_definition=myTable::Region:STRING,Quarter:STRING,Total_sales:INTEGER@CSV=gs://mybucket/sales.csv
--ignore_idle_slots={true|false}משתמשים בדגל
--reservation. כדי להגביל את העבודות שמופעלות בהזמנה שצוינה כך שישתמשו רק במשבצות שהוקצו להזמנה הזו, צריך להגדיר את הערךtrue. ערך ברירת המחדל הואfalse. משימות בהזמנה שצוינה יכולות להשתמש במשבצות בלי פעילות מהזמנות אחרות, או במשבצות שלא הוקצו לאף הזמנה. מידע נוסף מופיע במאמר בנושא משבצות זמן פנויות.--max_staleness=INTERVALמציינת ערך INTERVAL שקובע את רמת הטריות המקסימלית המותרת כשמבצעים שאילתה בתצוגה חומרית או בטבלה חיצונית. ערך ברירת המחדל הוא
0-0 0 0:0:0.לדוגמה:
- יום אחד:
0-0 1 0:0:0 - שעה אחת:
0-0 0 1:0:0
כדי להשתמש בדגל הזה, צריך לציין הגדרת טבלה באמצעות הדגל
--external_table_definition.- יום אחד:
--max_time_travel_hours=HOURSמציינת את משך חלון הזמן לשינוי נתונים במערך הנתונים בשעות. הערך
--max_time_travel_hoursצריך להיות מספר שלם שהוא כפולה של 24 (48, 72, 96, 120, 144, 168) בין 48 (יומיים) ל-168 (7 ימים).--merge={true|false}כדי למזג שתי התחייבויות לקיבולת, מגדירים את
--mergeלערךtrue. מגדירים את הדגל--capacity_commitmentלערךtrue, מציינים את המיקום של ההתחייבויות שרוצים למזג באמצעות הדגל--location, ומחליפים אתRESOURCEבמזהים של שתי ההתחייבויות שרוצים למזג, כשהם מופרדים בפסיק. מידע נוסף מופיע במאמר בנושא מיזוג של שתי התחייבויות.--metadata_cache_mode=METADATA_CACHE_MODEהפעלת מטמון מטא-נתונים לטבלה חיצונית עם חיבור. משתמשים באחד מהערכים הבאים:
AUTOMATICMANUAL
מציינים את הערך
AUTOMATICכדי לרענן באופן אוטומטי את המטא-נתונים ששמורים במטמון. מציינים את הערךMANUALכדי להפסיק את הרענון האוטומטי. כדי להשתמש בדגל הזה, צריך לציין הגדרת טבלה עם הדגל--external_table_definition.-
--model={true|false}או-m={true|false} כדי לעדכן את המטא-נתונים של מודל BigQuery ML, מגדירים את הערך
true. ערך ברירת המחדל הואfalse.--params={"PARAMETER":"VALUE"} or -p={"PARAMETER":"VALUE"}מעדכנים פרמטרים של הגדרות העברה. הפרמטרים משתנים בהתאם למקור הנתונים. מידע נוסף זמין במאמר מבוא לשירות העברת נתונים ל-BigQuery.
--plan=PLANכשמשתמשים בדגל
--capacity_commitment, המערכת ממירה התחייבות לקיבולת לתוכנית התחייבות ארוכה יותר שצוינה. מחליפים אתPLANבאחד מהערכים הבאים:ANNUALTHREE_YEAR
--refresh_window_days=DAYSמספר שלם שמציין חלון רענון מעודכן (בימים) להגדרת העברה.
--remove_tags=TAG_KEYSהאפשרות הזו זמינה רק במערכי נתונים ובטבלאות. מציינים את התגים שרוצים להסיר מהמשאב, מופרדים בפסיקים – לדוגמה,
556741164180/env,myProject/department. לכל מפתח תג צריך להיות שם מפתח במרחב השמות.--renewal_plan=PLANכשמשתמשים בדגל
--capacity_commitment, התוכנית לחידוש ההתחייבות השנתית לקיבולת מתעדכנת. מחליפים אתPLANבאחד מהערכים הבאים:ANNUALTHREE_YEARNONE
לקוחות שמשתמשים בתמחור מדור קודם לפי תעריף קבוע יכולים גם להשתמש באחד מהערכים הבאים:
FLEXMONTHLYANNUAL
--reservation={true|false}ההגדרה קובעת אם לעדכן הזמנה. ערך ברירת המחדל הוא
false.--reservation_assignment={true|false}ההגדרה קובעת אם לעדכן הקצאת הזמנה. ערך ברירת המחדל הוא
false.--schema={SCHEMA_FILE|SCHEMA}מציינים את הנתיב לקובץ סכימת JSON מקומי או רשימה מופרדת בפסיקים של הגדרות עמודות בפורמט
FIELD:DATA_TYPE, FIELD:DATA_TYPE. אם אתם משתמשים בקובץ סכימה, אל תוסיפו סיומת לשם הקובץ.לדוגמה:
--schema=/tmp/tabledef
--schema=Region:STRING,Quarter:STRING,Total_sales:INTEGER
--service_account_name=SERVICE_ACCOUNTמציינים חשבון שירות שישמש כפרטי הכניסה להגדרת העברה.
--set_label=KEY:VALUEמציין תווית לעדכון. כדי לעדכן כמה תוויות, חוזרים על הפעולה הזו.
--slots=NUMBER_OF_BASELINE_SLOTSכשמשתמשים בדגלים
--capacity_commitmentו---split, מציינים את מספר המשבצות הבסיסיות שיוקצו מתוך התחייבות קיימת לקיבולת, ויועברו להתחייבות חדשה. מחליפים אתRESOURCEבמזהה של ההתחייבות שממנה רוצים לפצל את ההתחייבות החדשה.כשמשתמשים בדגל
--reservation, הפקודה מעדכנת את מספר המשבצות בהזמנה.--source=FILEהנתיב לקובץ JSON מקומי שמכיל מטען ייעודי (payload) שמשמש לעדכון משאב. לדוגמה, אפשר להשתמש בדגל הזה כדי לציין קובץ JSON שמכיל משאב dataset עם מאפיין
accessמעודכן. הקובץ משמש להחלפת אמצעי בקרת הגישה של מערך הנתונים. קובץ ה-JSON לא יכול לכלול סימן לסדר הבתים (BOM).--split={true|false}כשמגדירים את הערך
trueומשתמשים בדגל--capacity_commitment, מציינים שרוצים לפצל התחייבות קיימת לקיבולת. משתמשים בדגל--locationכדי לציין את המיקום של ההתחייבות שממנה רוצים לפצל, ובדגל--slotsכדי לציין את מספר המשבצות שרוצים לפצל. מחליפים אתRESOURCEבמזהה של ההתחייבות שממנה רוצים לפצל. מידע נוסף מופיע במאמר בנושא פיצול התחייבות.--storage_billing_model=BILLING_MODELמציינת את מודל החיוב על אחסון של מערך נתונים. מגדירים את הערך
--storage_billing_modelל-PHYSICALכדי להשתמש בבייטים פיזיים בחישוב עלויות האחסון, או ל-LOGICALכדי להשתמש בבייטים לוגיים.כשמשנים את מודל החיוב של מערך נתונים, חולפות 24 שעות עד שהשינוי נכנס לתוקף.
אחרי שמשנים את מודל החיוב של האחסון של מערך נתונים, צריך לחכות 14 ימים לפני שאפשר לשנות שוב את מודל החיוב של האחסון.
-
--table={true|false}או-t={true|false} קובעת אם לעדכן טבלה. ערך ברירת המחדל הוא
false.--target_dataset=DATASETאם מציינים מערך נתונים, הוא יעודכן בהגדרות ההעברה.
--time_partitioning_expiration=SECONDSמספר שלם שמתעדכן (בשניות) כשצריך למחוק מחיצה מבוססת-זמן. זמן התפוגה הוא תאריך ה-UTC של המחיצה בתוספת הערך השלם. מספר שלילי מציין שאין תאריך תפוגה.
--time_partitioning_field=COLUMN_NAMEהעדכון של השדה שמשמש לקביעה של אופן יצירת מחיצה לפי זמן. אם מפעילים חלוקה למחיצות לפי זמן בלי הערך הזה, הטבלה מחולקת למחיצות לפי זמן הטעינה.
--time_partitioning_type=INTERVALמציין את סוג החלוקה למחיצות. אפשר להשתמש באחד מהערכים הבאים:
DAYHOURMONTHYEAR
אי אפשר לשנות את סוג החלוקה למחיצות של טבלה קיימת.
--transfer_config={true|false}המדיניות קובעת אם לעדכן את הגדרות ההעברה. ערך ברירת המחדל הוא
false.--update_credentials={true|false}ההגדרה קובעת אם לעדכן את פרטי הכניסה של הגדרות ההעברה. ערך ברירת המחדל הוא
false.--use_legacy_sql={true|false}הגדרה ל-
falseכדי לעדכן את שאילתת ה-SQL של תצוגה מ-SQL מדור קודם ל-GoogleSQL. ערך ברירת המחדל נקבע לפי הגדרות התצורה. אם לא מציינים את הגדרת התצורה, ערך ברירת המחדל הואtrue, והשאילתה משתמשת ב-SQL מדור קודם.--vertex_ai_model_id=VERTEX_AI_MODEL_IDכאשר מצוין, מעדכן את מזהה המודל של מודל BigQuery ML שרשום ב-מרשם המודלים של Vertex AI.
--view=QUERYכשמציינים, מעדכנים את שאילתת ה-SQL של תצוגה.
--view_udf_resource=FILEמעדכן את ה-URI של Cloud Storage או את הנתיב לקובץ קוד מקומי שנטען ומוערך באופן מיידי כמשאב של פונקציה בהגדרת המשתמש בשאילתת SQL של תצוגה. אפשר לחזור על האפשרות הזו כדי לציין כמה קבצים.
RESOURCEהמשאב שרוצים לעדכן.
למידע נוסף על השימוש בפקודה bq update:
- עדכון מאפיינים של מערך נתונים
- ניהול טבלאות
- עדכון תצוגות
- עדכון תוויות
- עבודה עם העברות
- עדכון המטא-נתונים של תמונת מצב של טבלה
bq version
משתמשים בפקודה bq version כדי להציג את מספר הגרסה של כלי שורת הפקודה של BigQuery.
תקציר
bq version
bq wait
משתמשים בפקודה bq wait כדי להמתין מספר שניות מוגדר עד לסיום של עבודה. אם לא מציינים משימה, הפקודה מחכה שהמשימה הנוכחית תסתיים.
תקציר
bq wait [FLAGS] [JOB] [SECONDS]
דוגמאות
bq wait
bq wait --wait_for_status=RUNNING 12345 100
דגלים וארגומנטים
הפקודה bq wait משתמשת בדגלים ובארגומנטים הבאים:
--fail_on_error={true|false}
- כדי להחזיר הצלחה אם העבודה הושלמה במהלך זמן ההמתנה, גם אם העבודה נכשלה, צריך להגדיר את הערך
false. ערך ברירת המחדל הואtrue. אחרי שזמן ההמתנה מסתיים, הפקודה יוצאת עם שגיאה אם העבודה עדיין פועלת, או אם העבודה הסתיימה אבל נכשלה. --wait_for_status=STATUSאם מציינים סטטוס, המערכת ממתינה לסטטוס מסוים של המשימה לפני היציאה. אפשר להשתמש באחד מהערכים הבאים:
PENDINGRUNNINGDONE
ערך ברירת המחדל הוא
DONE.JOBמציינת את המשימה שממתינים לה. אפשר להשתמש בפקודה
bq ls --jobs myProjectכדי למצוא מזהה של משימה.SECONDSמציין את מספר השניות המקסימלי להמתנה עד לסיום העבודה. אם מזינים את הערך
0, הפקודה מבצעת בדיקה חוזרת כדי לראות אם העבודה הושלמה ומוחזרת באופן מיידי. אם לא מציינים ערך של מספר שלם, הפקודה ממתינה עד שהעבודה מסתיימת.