חומר עזר על כלי שורת הפקודה של BigQuery
במאמר הזה מתוארים התחביר, הפקודות, הדגלים והארגומנטים של bq, כלי שורת הפקודה מבוסס-Python של BigQuery.
במדריך טעינה ושאילתות על נתונים באמצעות כלי שורת הפקודה של BigQuery מוסבר איך משתמשים בכלי שורת הפקודה של BigQuery.
איך משתמשים בכלי שורת הפקודה של 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
הגדרת ערכי ברירת מחדל לתכונות ניסיוניות בשורת הפקודה
אפשר להגדיר ערכי ברירת מחדל לדגלים של שורת הפקודה, על ידי הכללה שלהם בקובץ התצורה של כלי שורת הפקודה של BigQuery, .bigqueryrc. לפני שמגדירים את אפשרויות ברירת המחדל, צריך ליצור קובץ .bigqueryrc. אפשר להשתמש בכלי לעריכת טקסט שאתם מעדיפים כדי ליצור את הקובץ. אחרי שיוצרים את הקובץ .bigqueryrc, אפשר לציין את הנתיב לקובץ באמצעות הדגל הגלובלי --bigqueryrc.
אם לא מציינים את הדגל --bigqueryrc, נעשה שימוש במשתנה הסביבה BIGQUERYRC. אם לא מציינים נתיב, המערכת משתמשת בנתיב ~/.bigqueryrc. נתיב ברירת המחדל הוא $HOME/.bigqueryrc.
איך מוסיפים דגלים ל-.bigqueryrc
כדי להוסיף ערכי ברירת מחדל להגדרות flag בשורת הפקודה ב-.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. הדגל
--use_legacy_sqlהספציפי לפקודהqueryמוגדר ל-falseכדי להפוך את GoogleSQL לתחביר ברירת המחדל של השאילתה.הדגל
--max_rowsהספציפי לפקודהqueryמוגדר לערך100כדי לשלוט במספר השורות בפלט של השאילתה.הדגל
--maximum_bytes_billedהספציפי לפקודהqueryמוגדר ל-10,000,000 בייטים (10MB), כדי ששאילתות שקוראות יותר מ-10MB של נתונים ייכשלו.הדגל הספציפי לפקודה
load,--destination_kms_key, מוגדר לערךprojects/myproject/locations/mylocation/keyRings/myRing/cryptoKeys/myKey.
עזרה בנושא CLI
כדי לקבל עזרה לגבי כלי שורת הפקודה של BigQuery, אפשר להריץ את הפקודות הבאות:
| תיאור | פורמט הפקודה Help | דוגמה |
|---|---|---|
| הגרסה המותקנת | 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מוציאה פלט לקובץ השגיאה הסטנדרטית (stderr). כדי לתעד יותר בקשות, משתמשים בדגל--httplib2_debuglevel=LOG_LEVEL. ככל שהערך שלLOG_LEVELגבוה יותר, כך נרשם יותר מידע על בקשות ה-HTTP.- כדי לפתור את השגיאות:
מזינים את הדגל
--format=prettyjsonכשמקבלים את סטטוס המשימה או כשמציגים מידע מפורט על משאבים כמו טבלאות ומערכי נתונים. השימוש בדגל הזה מפיק את התגובה בפורמט JSON, כולל המאפייןreason. אפשר להשתמש במאפייןreasonכדי למצוא הודעות שגיאה.כדי לקבל מידע נוסף על שגיאות שמתרחשות כשמריצים פקודה, משתמשים בדגל
--debug_mode.
דגלים כלליים
אפשר להשתמש בדגלים הבאים עם כל פקודת bq, במקרים הרלוונטיים:
--alpha=FEATURE_NAME- מציינת תכונה בשלב אלפא שרוצים להפעיל.
--api=ENDPOINT- מציינת את נקודת הקצה ל-API שאליה תתבצע הקריאה. ערך ברירת המחדל הוא
https://bigquery.googleapis.com. --api_version=VERSION- מציינת את גרסת ה-API שבה צריך להשתמש. ערך ברירת המחדל הוא
v2. --apilog=FILEמתעד את כל הבקשות והתגובות של ה-API בקובץ שצוין על ידי
FILE. הערכים האפשריים הם:- הנתיב לקובץ – רישום ביומן של הקובץ שצוין
-
stdout– רישום ביומן לפלט סטנדרטי (stdout) -
stderr– רישום ביומן של שגיאה סטנדרטית (stderr) -
false– בקשות ותגובות של ה-API לא מתועדות ביומן (ברירת המחדל)
--bigquery_discovery_api_key=API_KEYמציין מפתח API שמשמש לבקשות של מסמכי Discovery.
--bigqueryrc=PATHמציין את הנתיב לקובץ התצורה של כלי שורת הפקודה של BigQuery. אם לא מציינים את הדגל
--bigqueryrc, הפקודה משתמשת במשתנה הסביבהBIGQUERYRC. אם משתנה הסביבה לא מוגדר, המערכת משתמשת ב-$HOME/.bigqueryrc. אם הקובץ הזה לא קיים, המערכת משתמשת ב-~/.bigqueryrc. מידע נוסף מופיע במאמר הגדרת ערכי ברירת מחדל לתכונות ניסיוניות בשורת הפקודה.--ca_certificates_file=PATHמציין את המיקום של קובץ Certificate Authority Service (CA).
--dataset_id=DATASET_IDמציין את מערך הנתונים שמוגדר כברירת מחדל לשימוש עם הפקודה. המערכת מתעלמת מהדגל הזה אם הוא לא רלוונטי. אפשר לציין את הארגומנט
DATASET_IDבפורמטPROJECT:DATASETאוDATASET. אם החלקPROJECTחסר, המערכת משתמשת בפרויקט ברירת המחדל. אפשר לשנות את הגדרת ברירת המחדל של הפרויקט באמצעות הדגל--project_id.--debug_mode={true|false}אם הערך הוא
true, מוצגים מעקבי קריאות (tracebacks) בחריגות של 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.--enable_resumable_uploads={true|false}מאפשרת העלאות שניתן להמשיך דרך HTTP למשימות שטוענות נתונים מקבצים מקומיים. ערך ברירת המחדל הוא
true.--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, הפקודה מתעדת ביומן את הבקשות והתגובות של שרת ה-HTTP ב-stderr, בנוסף להודעות השגיאה. אם הערך שלDEBUG_LEVELלא גדול מ-0, או אם לא משתמשים בדגל--httplib2_debuglevel, יוצגו רק הודעות שגיאה.לדוגמה:
--httplib2_debuglevel=1
--job_id=JOB_IDמציין מזהה של משימה חדשה. הדגל הזה רלוונטי רק לפקודות שיוצרות משימות:
cp,extract,loadו-query. אם לא משתמשים בדגל--job_id, הפקודות יוצרות מזהה משימה ייחודי. למידע נוסף, ראו הרצת משימות באופן פרוגרמטי.--job_property=KEY:VALUEצמד מפתח/ערך שצריך לכלול בשדה המאפיינים של הגדרת המשימה. אפשר לחזור על הדגל הזה כדי לציין מאפיינים נוספים.
--jobs_query_use_request_id={true|false}אם המדיניות מוגדרת לערך
true, נשלח מזהה בקשה בבקשותjobs.query. ערך ברירת המחדל הואfalse.--jobs_query_use_results_from_response={true|false}אם המדיניות מוגדרת לערך
true, המערכת משתמשת בתוצאות מהתגובה שלjobs.query. ערך ברירת המחדל הואtrue.--location=LOCATIONמחרוזת שתואמת למיקום של אזור או של מספר אזורים. צריך להשתמש בדגל המיקום בפקודה
bq cancelובפקודהbq showכשמשתמשים בדגל--jobsכדי להציג מידע על משימות. הדגל location הוא אופציונלי בפקודות הבאות:querycploadextractpartitionupdatewait-
mkכשמשתמשים בדגלים--dataset,--reservation,--capacity_commitmentאו--reservation_assignment -
lsכשמשתמשים בדגלים--reservation,--capacity_commitmentאו--reservation_assignment
כל הפקודות האחרות מתעלמות מהדגל
--location.--max_rows_per_request=MAX_ROWSמספר שלם שמציין את מספר השורות המקסימלי שיוחזרו בכל קריאה.
--mtls={true|false}אם המדיניות מוגדרת לערך
true, המערכת משתמשת באישור לקוח mTLS בחיבורים ל-BigQuery. ערך ברירת המחדל הואfalse.--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.--quota_project_id=PROJECT_IDמציין את המזהה של פרויקט Google Cloud שישמש כפרויקט המכסה לצורכי חיוב ומגבלות מכסה.
--request_reason=REASONמציינת את הסיבה לשליחת בקשה שמתועדת ביומני הביקורת.
--synchronous_mode={true|false}או-sync={true|false}כדי ליצור את המשימה ולהחזיר מיד סטטוס השלמה מוצלחת כקוד השגיאה, מגדירים את הערך
false. אם הערך הואtrue, הפקודה ממתינה עד שהמשימה תסתיים לפני שהיא מחזירה את סטטוס השלמת המשימה כקוד השגיאה. ערך ברירת המחדל הואtrue.--trace=token:TOKENמציין אסימון מעקב שצריך לכלול בבקשות API.
--universe_domain=DOMAINמציינת את הדומיין האוניברסלי שבו צריך להשתמש בדומיינים של Trusted Partner Cloud (TPC).
--use_gcloud_config={true|false}אם המדיניות מוגדרת לערך
true, המערכת משתמשת בהגדרות שלgcloudכדי לשנות את ערכי ברירת המחדל של הדגלים. ערך ברירת המחדל הואtrue.--use_gcloud_config_cache={true|false}אם המדיניות מוגדרת לערך
true, המערכת משתמשת במטמון קבוע להגדרות ולפרטי הכניסה שלgcloud. ערך ברירת המחדל הואfalse.--use_google_auth={true|false}אם הערך הוא
true, אפשר לבצע אימות באמצעות ספריות Google Auth. ערך ברירת המחדל הואtrue.--use_lep={true|false}אם הערך הוא
true, המערכת משתמשת בנקודת קצה של LEP על סמך מיקום הפעולה. ערך ברירת המחדל הואfalse.--use_regional_endpoints={true|false}בגרסת טרום-השקה (Preview). כדי להתחבר לנקודת קצה אזורית, מגדירים את הדגל
--use_regional_endpointsלערךtrueואת הדגל--locationלאזור שאליו רוצים להתחבר. ערך ברירת המחדל הואfalse.--use_rep={true|false}אם הערך הוא
true, המערכת משתמשת בנקודת קצה של REP על סמך המיקום של הפעולה. ערך ברירת המחדל הוא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
כדי לבטל משימות ב-BigQuery, משתמשים בפקודה bq cancel.
תקציר
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}כדי ליצור תמונת מצב של טבלה שצוינה בארגומנט
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(גרסת טרום-השקה (Preview)). ערך ברירת המחדל הוא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, משתמשים ב-BigQuery Storage Write API (gRPC).
תקציר
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. ציינו את שמות הנכסים ברשימה מופרדת בפסיקים. שמות המאפיינים תלויי אותיות רישיות (case-sensitive) וחייבים להתייחס למאפיינים ברמה העליונה. אפשר להשתמש בדגל הזה גם בייצוא של 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 של מקור
"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 יסיק שסוגים לוגיים של ParquetENUMהם ערכיSTRING, צריך להגדיר את הדגל הזה לערךtrue. ערך ברירת המחדל הוא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 S3azure_blob_storage– העברת נתונים מ-Azure Blob Storagedcm_dt– העברת נתונים של Campaign Managergoogle_cloud_storage– העברת נתונים ב-Cloud Storagecross_region_copy– עותק של מערך נתוניםdfp_dt- העברת נתונים ב-Google Ad Managerdisplayvideo– העברת נתונים מ-Display & Video 360google_ads– העברת נתוני מודעות מ-Google Adsmerchant_center– העברת נתונים מ-Google Merchant Centermysql– העברת נתונים מ-MySQLplay– העברת נתונים מ-Google Playscheduled_query– העברת נתונים של שאילתות מתוזמנותsearch_ads– העברת נתונים מ-Search Ads 360-
youtube_channel– העברת נתונים של ערוץ YouTube -
youtube_content_owner– העברת נתונים של בעלי תוכן ב-YouTube redshift– העברה מ-Amazon Redshifton_premises– העברה מ-Teradatasnowflake_migration– העברה מ-Snowflake
לדוגמה:
--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. השגרות כוללות פונקציות מתמידות בהגדרת המשתמש, פונקציות טבלה (תצוגה מקדימה) ופרוצדורות מאוחסנות.--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, קראו את המאמרים הבאים:
- ניהול משימות
- הצגת רשימה של מערכי הנתונים בפרויקט
- יצירת טבלאות ושימוש בהן
- הצגת רשימת התצוגות במערך נתונים
- עבודה עם העברות
- הצגת רשימה של קובצי snapshot של טבלאות במערך נתונים
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.
--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- מציין את משך הזמן בשעות של חלון הזמן של Time Travel של מערך הנתונים. הערך של
--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- מציין את מספר המשבצות הבסיסיות שיוקצו להזמנה הזו.
--edition=EDITION- המהדורה שמשויכת להתחייבות לקיבולת. צריך להיות אחד מהבאים:
STANDARDENTERPRISEENTERPRISE_PLUS
--autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS- מספר ה-slots להתאמה אוטומטית לעומס שהוקצו להזמנה. הערך הזה שווה לגודל המקסימלי של ההזמנה פחות מספר המשבצות הבסיסיות.
--max_slots=MAXIMUM_NUMBER_OF_SLOTS
- המספר המקסימלי של משבצות שההזמנה תצרוך. צריך להגדיר את הדגל
--scaling_mode(גרסת טרום-השקה (Preview)). --scaling_mode=SCALING_MODEמצב ההתאמה לעומס (scaling) של ההזמנה. צריך לציין אחת מהאפשרויות הבאות:
IDLE_SLOTS_ONLYALL_SLOTSAUTOSCALE_ONLYSCALING_MODE_UNSPECIFIED
צריך להגדיר עם הדגל
--max_slots(תצוגה מקדימה).
מידע נוסף זמין במאמר יצירת הזמנה עם משבצות ייעודיות.
bq mk --reservation_assignment
הקצאת פרויקט, תיקייה או ארגון להזמנה. אלה הדגלים שנתמכים:
--assignee_id=ASSIGNEE_ID- מציין את המזהה של התיקייה, הארגון או הפרויקט.
--assignee_type=ASSIGNEE_TYPE- מציין את סוג הישות שצריך להקצות להזמנה. אחת מהאפשרויות הבאות:
FOLDERORGANIZATIONPROJECT
--job_type=JOB_TYPE- מציין את סוג המשימה שצריך להקצות להזמנה. אחד מהפרטים הבאים:
QUERYPIPELINEML_EXTERNALBACKGROUND
--location=LOCATION- מציין את המיקום של ההזמנה.
--project_id=PROJECT_ID- מציין את הפרויקט שהמקום השמור בבעלותו.
--reservation_id=RESERVATION_ID- מציין את מזהה ההזמנה.
מידע נוסף מופיע במאמר עבודה עם הקצאות של הזמנות.
bq mk --reservation-group
יוצרים קבוצת הזמנות. אלה הדגלים שנתמכים:
--location=LOCATION- מציין את המיקום של ההזמנה.
--project_id=PROJECT_ID- מציין את הפרויקט שהמקום השמור בבעלותו.
מידע נוסף מופיע במאמר עבודה עם קבוצות של הזמנות.
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. לדוגמה, אם הקטגוריה מכילה כמה סוגים של נתונים, אפשר להגדיר שהטבלה תשתמש רק בקובצי PARQUET על ידי ציון
gs://bucket_name/*.parquet. מידע נוסף על שימוש בתווים כלליים לחיפוש מופיע במאמר תווים כלליים לחיפוש של URI.
- לקובץ אחד:
הערך
REGIONמציין את האזור או מספר האזורים שבהם נמצא החיבור.הערך
CONNECTION_NAMEמציין את השם של החיבור למשאב ב-Cloud שבו צריך להשתמש בטבלה החיצונית הזו. החיבור קובע באיזה חשבון שירות משתמשים כדי לקרוא נתונים מ-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 שבו צריך להשתמש בטבלה החיצונית הזו. החיבור קובע באיזה חשבון שירות משתמשים כדי לקרוא נתונים מ-Cloud Storage.
-
--file_set_spec_type=FILE_SET_SPEC_TYPEמציין איך לפרש את מזהי ה-URI של המקור.
-
FILE_SYSTEM_MATCH: הרחבת מזהי ה-URI של המקור על ידי הצגת קבצים ממאגר האובייקטים. זוהי התנהגות ברירת המחדל אם FileSetSpecType לא מוגדר. -
NEW_LINE_DELIMITED_MANIFEST: מציין שכתובות ה-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. לדוגמה, מציינים0-0 0 4:0:0למרווח זמן של 4 שעות. עם הערך הזה, פעולות בטבלה משתמשות במטא-נתונים שנשמרו במטמון אם הם רועננו ב-4 השעות האחרונות. אם המטא-נתונים במטמון ישנים יותר, הפעולה חוזרת לאחזור מטא-נתונים מ-Cloud Storage.--object_metadata=STRINGכשיוצרים טבלת אובייקטים, צריך להגדיר את הערך של הדגל הזה בתור
SIMPLE.נדרש רק כשיוצרים טבלת אובייקטים.
--range_partitioning=COLUMN_NAME,START,END,INTERVALמציינת אפשרויות למחיצה של טווח מספרים שלמים, באופן הבא:
-
column_nameהיא העמודה שמשמשת ליצירת המחיצות של טווח המספרים השלמים. -
startהוא תחילת טווח החלוקה למחיצות, כולל. -
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, הדגל הזה מציין אם להסיק שסוגים לוגיים שלENUMב-Parquet הם ערכיSTRING.
מידע נוסף זמין במאמר יצירת טבלאות ושימוש בהן.
bq mk --transfer_config
יוצרת הגדרות העברה. אלה הדגלים שנתמכים:
--data_source=DATA_SOURCE- מציין את מקור הנתונים. חובה כשיוצרים הגדרת העברה. משתמשים באחד מהערכים הבאים:
amazon_s3– העברת נתונים מ-Amazon S3azure_blob_storage– העברת נתונים מ-Azure Blob Storagedcm_dt– העברת נתונים של Campaign Managergoogle_cloud_storage– העברת נתונים ב-Cloud Storagecross_region_copy– עותק של מערך נתוניםdfp_dt- העברת נתונים ב-Google Ad Managerdisplayvideo– העברת נתונים מ-Display & Video 360google_ads– העברת נתוני מודעות מ-Google Adsmerchant_center– העברת נתונים מ-Google Merchant Centermysql– העברת נתונים מ-MySQLplay– העברת נתונים מ-Google Playscheduled_query– העברת נתונים של שאילתות מתוזמנותsearch_ads– העברת נתונים מ-Search Ads 360-
youtube_channel– העברת נתונים של ערוץ YouTube -
youtube_content_owner– העברת נתונים של בעלי תוכן ב-YouTube redshift– העברה מ-Amazon Redshifton_premises– העברה מ-Teradatasnowflake_migration– העברה מ-Snowflake
--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
- העברת נתונים מ-Snowflake
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 "Zulu".
הארגומנט 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, הדגל הזה מציין אם להסיק סוגים לוגיים שלENUMב-Parquet כערכיSTRING. ערך ברירת המחדל הואfalse.--file_set_spec_type=FILE_SET_SPEC_TYPEמציין איך לפרש את מזהי ה-URI של המקור.
-
FILE_SYSTEM_MATCH: הרחבת מזהי ה-URI של המקור על ידי הצגת קבצים ממאגר האובייקטים. זוהי התנהגות ברירת המחדל אם FileSetSpecType לא מוגדר. -
NEW_LINE_DELIMITED_MANIFEST: מציין שכתובות ה-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
כדי להמיר קבוצת טבלאות עם סיומות של יחידות זמן, כמו טבלאות שמסתיימות ב-YYYYMMDD לחלוקה למחיצות לפי תאריך, לטבלאות מחולקות למחיצות, משתמשים בפקודה bq partition.
תקציר
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והפורמט הצפוי של time-unit-suffix לכל אחד מהם:INTERVALסיומת HOURYYYYMMDDHHDAYYYYYMMDDMONTHYYYYMMYEARYYYYSOURCE_TABLE_BASE_NAMEשם הבסיס של קבוצת הטבלאות עם סיומות של יחידות זמן.
PARTITION_TABLEהשם של טבלת היעד המחולקת למחיצות (Partitions).
למידע נוסף על השימוש בפקודה bq partition, קראו את המאמר המרת טבלאות עם חלוקה לפי תאריכים לטבלאות מחולקות למחיצות (Partitions) לפי זמני הטמעת הנתונים.
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הוא תחילת טווח החלוקה למחיצות, כולל. -
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אם צוין, ההזמנה שבה השאילתה פועלת. כדי לאלץ את השאילתה להשתמש בחיוב על פי דרישה, מגדירים את הערך הזה ל-
none. כדי לעשות את זה, צריך להגדיר את הגדרת התצורהreservation_override_modeבפרויקט או בארגון לערךALLOW_ANY_OVERRIDE.--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
כדי למחוק משאב של BigQuery, משתמשים בפקודה bq rm.
תקציר
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. כשמוחקים מערך נתונים, טבלה, משימה, מודל, שגרת אירועים, חיבור או הגדרות העברה, הגדרת הדגל הזה לערךtrueגם מתעלמת משגיאותNot foundאם המשאב לא קיים. ערך ברירת המחדל הוא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, קראו את המאמרים הבאים:
- ניהול מערכי נתונים
- ניהול משימות
- ניהול טבלאות
- ניהול תצוגות
- עבודה עם העברות
- מחיקת קובצי snapshot של טבלאות
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(גרסת טרום-השקה (Preview)). ערך ברירת המחדל הוא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}- כדי להציג מידע על מודל BigQuery ML, מגדירים את הערך
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, קראו את המאמרים הבאים:
- קבלת מידע על מערכי נתונים
- יצירת טבלאות ושימוש בהן
- קבלת מידע על תצוגות מפורטות
- עבודה עם העברות
- ניהול משימות
- קבלת מידע על קובץ snapshot של טבלה
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
- מספר ה-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מציין את משך הזמן בשעות של חלון הזמן של Time Travel של מערך הנתונים. הערך של
--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 שמכיל משאב של קבוצת נתונים עם מאפיין
accessמעודכן. הקובץ משמש להחלפת אמצעי בקרת הגישה של מערך הנתונים. קובץ ה-JSON לא יכול לכלול תו סימון סדר בתים (BOM).--split={true|false}כשמגדירים את הערך
trueומשתמשים בדגל--capacity_commitment, מציינים שרוצים לפצל התחייבות קיימת למכסת נפח. משתמשים בדגל--locationכדי לציין את המיקום של ההתחייבות שממנה רוצים לפצל, ובדגל--slotsכדי לציין את מספר ה-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 או את הנתיב לקובץ קוד מקומי שנטען ומוערך באופן מיידי כמשאב של פונקציה בהגדרת המשתמש (UDF) בשאילתת SQL של תצוגה. חוזרים על הדגל הזה כדי לציין כמה קבצים.
RESOURCEהמשאב שרוצים לעדכן.
למידע נוסף על השימוש בפקודה bq update, קראו את המאמרים הבאים:
- עדכון מאפיינים של מערך נתונים
- ניהול טבלאות
- עדכון תצוגות
- עדכון תוויות
- עבודה עם העברות
- עדכון המטא-נתונים של קובץ snapshot של טבלה
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, הפקודה דוגמת את השלמת המשימה וחוזרת מיד. אם לא מציינים ערך של מספר שלם, הפקודה ממתינה עד שהמשימה מסתיימת.