כתיבת תוצאות של שאילתה
במאמר הזה מוסבר איך לכתוב תוצאות של שאילתות בטבלאות זמניות או קבועות.
טבלאות זמניות וקבועות
המערכת של BigQuery שומרת את כל התוצאות של השאילתה בטבלה שיכולה להיות קבועה או זמנית.
ב-BigQuery נעשה שימוש בטבלאות זמניות כדי לשמור במטמון תוצאות של שאילתות שלא נכתבות בטבלה קבועה. הטבלאות נוצרות במערך נתונים מיוחד, והשמות שלהן נבחרים באופן אקראי. אפשר גם ליצור טבלאות זמניות לשימוש אישי בשאילתות עם כמה הצהרות ובסשנים. לא נחייב אתכם על טבלאות זמניות של תוצאות שאילתות במטמון. אתם מחויבים על טבלאות זמניות שלא נשמרו במטמון כתוצאות של שאילתות.
אחרי ששאילתה מסתיימת, הטבלה הזמנית קיימת למשך עד 24 שעות. כדי לראות את המבנה והנתונים של הטבלה:
נכנסים לדף BigQuery.
בחלונית הימנית, לוחצים על כלי הניתוחים:

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, לוחצים על Job history (היסטוריית המשימות).
לוחצים על היסטוריה אישית.
בוחרים את השאילתה שיצרה את הטבלה הזמנית. אחר כך, בשורה טבלת היעד, לוחצים על טבלה זמנית.
הגישה לנתונים בטבלה הזמנית מוגבלת למשתמש או לחשבון השירות שיצרו את עבודת השאילתה.
אי אפשר לשתף טבלאות זמניות, והן לא מוצגות באמצעות אף אחת מהשיטות הרגילות של רשימות או של שינוי טבלאות. אם אתם צריכים לשתף את תוצאות השאילתה, כתבו את התוצאות בטבלה קבועה, הורידו אותן או שתפו אותן באמצעות Google Sheets או Google Drive.
הטבלאות הזמניות נוצרות באותו אזור שבו נמצאות הטבלאות ששולחים אליהן שאילתות.
טבלה קבועה יכולה להיות טבלה חדשה או קיימת בכל מערך נתונים שיש לכם גישה אליו. אם כותבים את תוצאות השאילתה לטבלה חדשה, מחויבים על אחסון הנתונים. כשכותבים תוצאות של שאילתה לטבלה קבועה, הטבלאות ששולחים להן שאילתה צריכות להיות באותו מיקום כמו מערך הנתונים שמכיל את טבלת היעד.
אי אפשר לשמור תוצאות של שאילתה בטבלה זמנית כשמופעלת מדיניות ארגונית עם הגבלות על הדומיין. כפתרון עקיף, משביתים באופן זמני את מדיניות הארגון עם ההגבלה לפי דומיין, מריצים את השאילתה ואז מפעילים שוב את המדיניות. אפשר גם לשמור את תוצאות השאילתה בטבלת יעד.
ההרשאות הנדרשות
כדי לכתוב תוצאות של שאילתה לטבלה, אתם צריכים לקבל לפחות את ההרשאות הבאות:
- הרשאות
bigquery.tables.createליצירת טבלה חדשה bigquery.tables.updateDataכדי לכתוב נתונים לטבלה חדשה, להחליף טבלה או לצרף נתונים לטבלה-
bigquery.jobs.createכדי להריץ משימת שאילתה
יכול להיות שיידרשו הרשאות נוספות, כמו bigquery.tables.getData, כדי לגשת לנתונים שאתם שולחים לגביהם שאילתות.
התפקידים המוגדרים מראש הבאים ב-IAM כוללים את ההרשאות bigquery.tables.create ו-bigquery.tables.updateData:
bigquery.dataEditorbigquery.dataOwnerbigquery.admin
התפקידים הבאים שמוגדרים מראש ב-IAM כוללים את ההרשאות של bigquery.jobs.create:
bigquery.userbigquery.jobUserbigquery.admin
בנוסף, אם למשתמש יש הרשאות bigquery.datasets.create, כשהוא יוצר מערך נתונים, הוא מקבל גישת bigquery.dataOwner אליו.
גישת bigquery.dataOwner מאפשרת למשתמש ליצור ולעדכן טבלאות במערך הנתונים.
במאמר תפקידים והרשאות מוגדרים מראש יש מידע נוסף על תפקידים והרשאות ב-IAM ב-BigQuery.
כתיבת תוצאות של שאילתה לטבלה קבועה
כשכותבים תוצאות של שאילתה לטבלה קבועה, אפשר ליצור טבלה חדשה, לצרף את התוצאות לטבלה קיימת או להחליף טבלה קיימת.
כתיבת תוצאות של שאילתה
כדי לכתוב את תוצאות השאילתה לטבלה קבועה, פועלים לפי השלבים הבאים. כדי לעזור לכם לשלוט בעלויות, אתם יכולים לראות תצוגה מקדימה של הנתונים לפני שמריצים את השאילתה.
המסוף
פותחים את הדף BigQuery במסוף Cloud de Confiance .
בחלונית הימנית, לוחצים על כלי הניתוחים:

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Datasets ובוחרים קבוצת נתונים.
בעורך השאילתות, מזינים שאילתת SQL תקינה.
לוחצים על עריכה > הגדרות השאילתה.
בוחרים באפשרות Set a destination table for query results.
בקטע יעד, בוחרים את מערך הנתונים שבו רוצים ליצור את הטבלה, ואז בוחרים מזהה טבלה.
בקטע Destination table write preference, בוחרים אחת מהאפשרויות הבאות:
- Write if empty – כתיבת תוצאות השאילתה בטבלה רק אם הטבלה ריקה.
- Append to table – הוספת תוצאות השאילתה לטבלה קיימת.
- Overwrite table – החלפת טבלה קיימת עם אותו שם בתוצאות השאילתה.
אופציונלי: בשדה מיקום הנתונים, בוחרים את המיקום הרצוי.
כדי לעדכן את הגדרות השאילתה, לוחצים על שמירה.
לוחצים על Run. כך נוצרת משימת שאילתה שכותבת את תוצאות השאילתה בטבלה שציינתם.
לחלופין, אם שכחתם לציין טבלת יעד לפני הרצת השאילתה, תוכלו להעתיק את טבלת התוצאות שנשמרו במטמון לטבלה קבועה על ידי לחיצה על הלחצן Save Results שמעל לעורך.
SQL
בדוגמה הבאה נעשה שימוש בהצהרה CREATE TABLE כדי ליצור את הטבלה trips מנתונים בטבלה הציבורית bikeshare_trips:
במסוף Cloud de Confiance , עוברים לדף BigQuery.
בעורך השאילתות, מזינים את ההצהרה הבאה:
CREATE TABLE mydataset.trips AS ( SELECT bike_id, start_time, duration_minutes FROM bigquery-public-data.austin_bikeshare.bikeshare_trips );
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
מידע נוסף זמין במאמר בנושא יצירת טבלה חדשה מטבלה קיימת.
BQ
-
במסוף Cloud de Confiance , מפעילים את Cloud Shell.
בחלק התחתון של Cloud de Confiance המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
מזינים את הפקודה
bq queryומציינים את הדגל--destination_tableכדי ליצור טבלה קבועה על סמך תוצאות השאילתה. מציינים את הדגלuse_legacy_sql=falseכדי להשתמש בתחביר GoogleSQL. כדי לכתוב את תוצאות השאילתה בטבלה שלא נמצאת בפרויקט ברירת המחדל, צריך להוסיף את מזהה הפרויקט לשם של קבוצת הנתונים בפורמט הבא:project_id:dataset.אופציונלי: מוסיפים את הדגל
--locationומגדירים את הערך למיקום שלכם.כדי לשלוט בנטיית הכתיבה של טבלת יעד קיימת, מציינים את אחד מהדגלים האופציונליים הבאים:
-
--append_table: אם טבלת היעד קיימת, תוצאות השאילתה מצורפות אליה.
--replace: אם טבלת היעד קיימת, היא מוחלפת בתוצאות השאילתה.bq --location=location query \ --destination_table project_id:dataset.table \ --use_legacy_sql=false 'query'
מחליפים את מה שכתוב בשדות הבאים:
locationהוא שם המיקום שמשמש לעיבוד השאילתה. הדגל--locationהוא אופציונלי. לדוגמה, אם אתם משתמשים ב-BigQuery באזור טוקיו, אתם יכולים להגדיר את הערך של הדגל ל-asia-northeast1. אפשר להגדיר ערך ברירת מחדל למיקום באמצעות הקובץ.bigqueryrc.
project_idהוא מזהה הפרויקט.
datasetהוא השם של מערך הנתונים שמכיל את הטבלה שאליה נכתבות תוצאות השאילתה.
tableהוא שם הטבלה שאליה כותבים את תוצאות השאילתה.
queryהיא שאילתה בתחביר של GoogleSQL.אם לא מצוין דגל של פעולת כתיבה, התנהגות ברירת המחדל היא כתיבת התוצאות לטבלה רק אם היא ריקה. אם הטבלה קיימת והיא לא ריקה, השגיאה הבאה מוחזרת:
BigQuery error in query operation: Error processing job project_id:bqjob_123abc456789_00000e1234f_1: Already Exists: Table project_id:dataset.table.דוגמאות:
מזינים את הפקודה הבאה כדי לכתוב את תוצאות השאילתה לטבלת יעד בשם
mytableב-mydataset. מערך הנתונים נמצא בפרויקט ברירת המחדל שלכם. מכיוון שלא צוין דגל של write disposition בפקודה, הטבלה צריכה להיות חדשה או ריקה. אחרת, מוחזרת שגיאתAlready exists. השאילתה מאחזרת נתונים ממערך הנתונים הציבורי USA Name Data.bq query \ --destination_table mydataset.mytable \ --use_legacy_sql=false \ 'SELECT name, number FROM `bigquery-public-data`.usa_names.usa_1910_current WHERE gender = "M" ORDER BY number DESC'
מזינים את הפקודה הבאה כדי להשתמש בתוצאות של שאילתה כדי להחליף טבלת יעד בשם
mytableב-mydataset. מערך הנתונים נמצא בפרויקט ברירת המחדל שלכם. הפקודה משתמשת בדגל--replaceכדי להחליף את טבלת היעד.bq query \ --destination_table mydataset.mytable \ --replace \ --use_legacy_sql=false \ 'SELECT name, number FROM `bigquery-public-data`.usa_names.usa_1910_current WHERE gender = "M" ORDER BY number DESC'
מזינים את הפקודה הבאה כדי לצרף את תוצאות השאילתה לטבלת יעד בשם
mytableב-mydataset. מערך הנתונים נמצא ב-my-other-project, ולא בפרויקט ברירת המחדל שלכם. הפקודה משתמשת בדגל--append_tableכדי לצרף את תוצאות השאילתה לטבלת היעד.bq query \ --append_table \ --use_legacy_sql=false \ --destination_table my-other-project:mydataset.mytable \ 'SELECT name, number FROM `bigquery-public-data`.usa_names.usa_1910_current WHERE gender = "M" ORDER BY number DESC'
הפלט של כל אחת מהדוגמאות האלה נראה כך. כדי לשפר את הקריאות, חלק מהפלט נחתך.
Waiting on bqjob_r123abc456_000001234567_1 ... (2s) Current status: DONE +---------+--------+ | name | number | +---------+--------+ | Robert | 10021 | | John | 9636 | | Robert | 9297 | | ... | +---------+--------+
-
API
כדי לשמור את תוצאות השאילתה בטבלה קבועה, מפעילים את השיטה jobs.insert, מגדירים משימת query וכוללים ערך במאפיין destinationTable. כדי לשלוט בנטיית הכתיבה של טבלת יעד קיימת, מגדירים את המאפיין writeDisposition.
כדי לשלוט במיקום העיבוד של עבודת השאילתה, מציינים את המאפיין location בקטע jobReference של משאב העבודה.
המשך
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Go API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
כדי לשמור את תוצאות השאילתה בטבלה קבועה, מגדירים את טבלת היעד לTableId הרצוי ב-QueryJobConfiguration.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Node.js API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
כתיבת תוצאות גדולות של שאילתות
בדרך כלל, לשאילתות יש גודל תגובה מקסימלי. אם אתם מתכננים להריץ שאילתה שעשויה להחזיר תוצאות גדולות יותר, אתם יכולים לבצע אחת מהפעולות הבאות:
- ב-GoogleSQL, מציינים טבלת יעד לתוצאות השאילתה.
- ב-SQL מדור קודם, מציינים טבלת יעד ומגדירים את האפשרות
allowLargeResults
כשמציינים טבלת יעד לתוצאות של שאילתות גדולות, מחויבים על אחסון הנתונים.
מגבלות
ב-SQL מדור קודם, כתיבת תוצאות גדולות כפופה למגבלות הבאות:
- חובה לציין טבלת יעד.
- אי אפשר לציין פסקה ברמה העליונה
ORDER BY,TOPאוLIMIT. פעולה כזו מבטלת את היתרון של השימוש ב-allowLargeResults, כי אי אפשר יותר לחשב את פלט השאילתה במקביל. - פונקציות אנליטיות (window functions) יכולות להחזיר תוצאות גדולות של שאילתות רק אם משתמשים בהן בשילוב עם סעיף
PARTITION BY.
כתיבת תוצאות גדולות באמצעות SQL מדור קודם
כדי לכתוב קבוצות גדולות של תוצאות באמצעות SQL מדור קודם:
המסוף
נכנסים לדף BigQuery במסוף Cloud de Confiance .
לוחצים על Compose new query.
מזינים שאילתת SQL תקינה באזור הטקסט של עורך השאילתות. משתמשים בקידומת
#legacySQLאו מוודאים שהאפשרות Use Legacy SQL (שימוש ב-SQL מדור קודם) מסומנת בהגדרות השאילתה.לוחצים על עריכה > הגדרות השאילתה.
בקטע יעד, מסמנים את האפשרות הגדרת טבלת יעד לתוצאות השאילתה.
בשדה Dataset, בוחרים את מערך הנתונים שבו הטבלה תאוחסן.
בשדה Table Id (מזהה הטבלה), מזינים שם לטבלה.
אם אתם כותבים קבוצת תוצאות גדולה לטבלה קיימת, אתם יכולים להשתמש באפשרויות של העדפת כתיבה לטבלת היעד כדי לשלוט בהסדר הכתיבה של טבלת היעד:
- Write if empty: כתיבת תוצאות השאילתה בטבלה רק אם הטבלה ריקה.
- הוספה לטבלה: הוספה של תוצאות השאילתה לטבלה קיימת.
- החלפת טבלה: מחליפה טבלה קיימת עם אותו שם בתוצאות השאילתה.
בקטע גודל התוצאות, מסמנים את התיבה אפשר תוצאות גדולות (ללא הגבלת גודל).
אופציונלי: בשדה Data location, בוחרים את המיקום של הנתונים.
לוחצים על שמירה כדי לעדכן את הגדרות השאילתה.
לוחצים על Run. הפעולה הזו יוצרת משימת שאילתה שכותבת את קבוצת התוצאות הגדולה בטבלה שציינתם.
BQ
משתמשים בדגל --allow_large_results עם הדגל --destination_table כדי ליצור טבלת יעד שתכיל את מערך התוצאות הגדול. האפשרות --allow_large_results רלוונטית רק ל-SQL מדור קודם, ולכן צריך לציין גם את הדגל --use_legacy_sql=true. כדי לכתוב את תוצאות השאילתה לטבלה שלא נמצאת בפרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט לשם של קבוצת הנתונים בפורמט הבא: PROJECT_ID:DATASET.
מציינים את הדגל --location ומגדירים את הערך למיקום.
כדי לשלוט בהגדרת הכתיבה של טבלת יעד קיימת, מציינים אחד מהדגלים האופציונליים הבאים:
-
--append_table: אם טבלת היעד קיימת, תוצאות השאילתה מצורפות אליה. -
--replace: אם טבלת היעד קיימת, היא מוחלפת בתוצאות השאילתה.
bq --location=location query \ --destination_table PROJECT_ID:DATASET.TABLE \ --use_legacy_sql=true \ --allow_large_results "QUERY"
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATIONהוא שם המיקום שמשמש לעיבוד השאילתה. הדגל--locationהוא אופציונלי. לדוגמה, אם אתם משתמשים ב-BigQuery באזור טוקיו, אתם יכולים להגדיר את ערך הדגל ל-asia-northeast1. אפשר להגדיר ערך ברירת מחדל למיקום באמצעות הקובץ.bigqueryrc. -
PROJECT_IDהוא מזהה הפרויקט. -
DATASETהוא השם של מערך הנתונים שמכיל את הטבלה שאליה נכתבות תוצאות השאילתה. -
TABLEהוא שם הטבלה שאליה נכתבות תוצאות השאילתה. -
QUERYהיא שאילתה בתחביר SQL מדור קודם.
דוגמאות:
מזינים את הפקודה הבאה כדי לכתוב תוצאות גדולות של שאילתות לטבלת יעד בשם mytable ב-mydataset. מערך הנתונים נמצא בפרויקט שמוגדר כברירת מחדל. מכיוון שלא צוין בפקודה דגל של אופן הכתיבה, הטבלה חייבת להיות חדשה או ריקה. אחרת, מוחזרת שגיאת Already exists. השאילתה מאחזרת נתונים ממערך הנתונים הציבורי USA Name Data.
השאילתה הזו משמשת למטרות דוגמה בלבד. קבוצת התוצאות שמוחזרת לא חורגת מגודל התגובה המקסימלי.
bq query \
--destination_table mydataset.mytable \
--use_legacy_sql=true \
--allow_large_results \
"SELECT
name,
number
FROM
[bigquery-public-data:usa_names.usa_1910_current]
WHERE
gender = 'M'
ORDER BY
number DESC"
מזינים את הפקודה הבאה כדי להשתמש בתוצאות של שאילתות גדולות כדי להחליף טבלת יעד בשם mytable ב-mydataset. מערך הנתונים נמצא ב-myotherproject ולא בפרויקט ברירת המחדל. הפקודה משתמשת בדגל --replace כדי להחליף את טבלת היעד.
bq query \
--destination_table mydataset.mytable \
--replace \
--use_legacy_sql=true \
--allow_large_results \
"SELECT
name,
number
FROM
[bigquery-public-data:usa_names.usa_1910_current]
WHERE
gender = 'M'
ORDER BY
number DESC"
מזינים את הפקודה הבאה כדי להוסיף תוצאות של שאילתות גדולות לטבלת יעד בשם mytable ב-mydataset. מערך הנתונים נמצא ב-myotherproject, ולא בפרויקט ברירת המחדל. הפקודה משתמשת בדגל --append_table כדי לצרף את תוצאות השאילתה לטבלת היעד.
bq query \
--destination_table myotherproject:mydataset.mytable \
--append_table \
--use_legacy_sql=true \
--allow_large_results \
"SELECT
name,
number
FROM
[bigquery-public-data:usa_names.usa_1910_current]
WHERE
gender = 'M'
ORDER BY
number DESC"
API
כדי לכתוב תוצאות גדולות לטבלת יעד, מפעילים את השיטה jobs.insert, מגדירים משימת query ומגדירים את המאפיין allowLargeResults לערך true.
מציינים את טבלת היעד באמצעות המאפיין destinationTable. כדי לשלוט בהגדרת הכתיבה של טבלת יעד קיימת, מגדירים את המאפיין writeDisposition.
מציינים את המיקום במאפיין location בקטע jobReference של משאב המשרה.
המשך
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Go API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Java
כדי להפעיל תוצאות גדולות, מגדירים את allow large
results
לערך true ומגדירים את destination
table
לערך TableId הרצוי ב-QueryJobConfiguration.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Node.js API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
הורדה ושמירה של תוצאות שאילתה ממסוף Cloud de Confiance
אחרי שמריצים שאילתת SQL באמצעות Cloud de Confiance המסוף, אפשר לשמור את התוצאות במיקום אחר. אפשר להשתמש במסוף Cloud de Confiance כדי להוריד את תוצאות השאילתה לקובץ מקומי, ל-Google Sheets או ל-Google Drive. אם קודם ממיינים את תוצאות השאילתה לפי עמודה, הסדר נשמר בנתונים שהורדו. אי אפשר לשמור תוצאות בקובץ מקומי, ב-Google Sheets או ב-Google Drive באמצעות כלי שורת הפקודה של BigQuery או ה-API.
מגבלות
ההגבלות הבאות חלות על הורדה ושמירה של תוצאות שאילתה:
- אפשר להוריד את תוצאות השאילתה באופן מקומי רק בפורמט CSV או בפורמט JSON עם תווי שורה חדשה.
- אי אפשר לשמור ב-Google Sheets תוצאות של שאילתות שמכילות נתונים מקוננים וחוזרים.
- כדי לשמור את תוצאות השאילתה ב-Google Drive באמצעות מסוף Cloud de Confiance , קבוצת התוצאות צריכה להיות בגודל של עד 1GB. אם התוצאות גדולות יותר, אפשר לשמור אותן בטבלה.
- כששומרים תוצאות של שאילתה בקובץ CSV מקומי, הגודל המקסימלי של ההורדה הוא 10MB.
גודל ההורדה המקסימלי מבוסס על הגודל של כל שורה שמוחזרת בתגובה ל-method
tabledata.list, והוא יכול להשתנות בהתאם לסכימה של תוצאות השאילתה. כתוצאה מכך, גודל קובץ ה-CSV שהורדתם יכול להיות שונה, ועשוי להיות קטן מהגודל המקסימלי להורדה. - אפשר לשמור את תוצאות השאילתה ב-Google Drive רק בפורמט CSV או בפורמט JSON עם תווי מעבר שורה.