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

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, לוחצים על Job history.
לוחצים על היסטוריה אישית.
בוחרים את השאילתה שיצרה את הטבלה הזמנית. אחר כך, בשורה טבלת יעדים, לוחצים על Temporary table.
הגישה לנתונים בטבלה הזמנית מוגבלת למשתמש או לחשבון השירות שיצרו את משימת השאילתה.
אי אפשר לשתף טבלאות זמניות, והן לא גלויות באמצעות אף אחת מהשיטות הרגילות של רשימות או שיטות אחרות לטיפול בטבלאות. אם אתם צריכים לשתף את תוצאות השאילתה, כתבו את התוצאות בטבלה קבועה, הורידו אותן או שתפו אותן באמצעות 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 במסוף Google Cloud .
בחלונית השמאלית, לוחצים על Explorer:

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Datasets ובוחרים קבוצת נתונים.
בעורך השאילתות, מזינים שאילתת SQL תקינה.
לוחצים על עריכה > הגדרות השאילתה.
בוחרים באפשרות Set a destination table for query results.
בקטע Destination, בוחרים את מערך הנתונים שבו רוצים ליצור את הטבלה, ואז בוחרים מזהה טבלה.
בקטע Destination table write preference, בוחרים אחת מהאפשרויות הבאות:
- Write if empty – כתיבת תוצאות השאילתה בטבלה רק אם הטבלה ריקה.
- Append to table – הוספת תוצאות השאילתה לטבלה קיימת.
- Overwrite table – החלפת טבלה קיימת עם אותו שם בתוצאות השאילתה.
אופציונלי: בשדה Data location, בוחרים את המיקום.
כדי לעדכן את הגדרות השאילתה, לוחצים על שמירה.
לוחצים על Run. כך נוצרת משימת שאילתה שכותבת את תוצאות השאילתה בטבלה שציינתם.
לחלופין, אם שכחתם לציין טבלת יעד לפני הרצת השאילתה, תוכלו להעתיק את טבלת התוצאות שנשמרו במטמון לטבלה קבועה על ידי לחיצה על הלחצן Save Results שמעל לעורך.
SQL
בדוגמה הבאה משתמשים בהצהרת CREATE TABLE כדי ליצור את הטבלה trips מהנתונים בטבלה הציבורית bikeshare_trips:
נכנסים לדף BigQuery במסוף Google Cloud .
בעורך השאילתות, מזינים את ההצהרה הבאה:
CREATE TABLE mydataset.trips AS ( SELECT bike_id, start_time, duration_minutes FROM bigquery-public-data.austin_bikeshare.bikeshare_trips );
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
למידע נוסף, קראו את המאמר יצירת טבלה חדשה מטבלה קיימת.
BQ
-
מפעילים את Cloud Shell במסוף Google Cloud .
בחלק התחתון של מסוף Google Cloud יתחיל סשן של 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.אם לא צוין דגל של write disposition, פעולת ברירת המחדל היא לכתוב את התוצאות בטבלה רק אם היא ריקה. אם הטבלה קיימת והיא לא ריקה, תוחזר השגיאה הבאה:
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
כדי לשמור את תוצאות השאילתה בטבלה קבועה, מפעילים את ה-method jobs.insert, מגדירים משימת query וכוללים ערך למאפיין destinationTable. כדי לשלוט בנטיית הכתיבה של טבלת יעד קיימת, מגדירים את המאפיין writeDisposition.
כדי לשלוט במיקום העיבוד של משימת השאילתה, מציינים את המאפיין location בקטע jobReference של משאב המשימה.
המשך
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Go במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Go API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי לשמור את תוצאות השאילתה בטבלה קבועה, מגדירים את טבלת היעד ל-TableId הרצוי ב-QueryJobConfiguration.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Node.js API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי לשמור את תוצאות השאילתה בטבלה קבועה, יוצרים QueryJobConfig ומגדירים את destination ל-TableReference הרצוי. מעבירים את הגדרות המשימה לשיטת השאילתה.כתיבת תוצאות גדולות של שאילתות
בדרך כלל, לשאילתות יש גודל תגובה מקסימלי. אם אתם מתכננים להריץ שאילתה שעשויה להחזיר תוצאות גדולות יותר, אתם יכולים לבצע אחת מהפעולות הבאות:
- ב-GoogleSQL, מציינים טבלת יעד לתוצאות השאילתה.
- ב-SQL מדור קודם, מציינים טבלת יעד ומגדירים את האפשרות
allowLargeResults.
כשמציינים טבלת יעד לתוצאות של שאילתות גדולות, מחויבים על אחסון הנתונים.
מגבלות
ב-SQL מדור קודם, כתיבת תוצאות גדולות כפופה למגבלות הבאות:
- צריך לציין טבלת יעד.
- אי אפשר לציין סעיף
ORDER BY,TOPאוLIMITברמה העליונה. פעולה כזו מבטלת את היתרון של השימוש ב-allowLargeResults, כי אי אפשר יותר לחשב את פלט השאילתה במקביל. - פונקציות אנליטיות יכולות להחזיר תוצאות שאילתה גדולות רק אם משתמשים בהן בשילוב עם משפט
PARTITION BY.
כתיבת תוצאות גדולות באמצעות SQL מדור קודם
כדי לכתוב קבוצות גדולות של תוצאות באמצעות SQL מדור קודם:
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
לוחצים על Compose new query.
מזינים שאילתת SQL תקינה באזור הטקסט של עורך השאילתות. משתמשים בקידומת
#legacySQLאו מוודאים שהאפשרות SQL מדור קודם מסומנת בהגדרות השאילתה.לוחצים על עריכה > הגדרות השאילתה.
בקטע Destination, מסמנים את האפשרות Set a destination table for query results.
בקטע Dataset, בוחרים את מערך הנתונים שבו תאוחסן הטבלה.
בשדה Table Id, מזינים שם לטבלה.
אם אתם כותבים קבוצת תוצאות גדולה לטבלה קיימת, אתם יכולים להשתמש באפשרויות של Destination table write preference כדי לשלוט בנטיית הכתיבה של טבלת היעד:
- Write if empty: כתיבת תוצאות השאילתה בטבלה רק אם הטבלה ריקה.
- Append to table: הוספת תוצאות השאילתה לטבלה קיימת.
- Overwrite table: החלפת טבלה קיימת עם אותו שם בתוצאות השאילתה.
בקטע Results Size, מסמנים את האפשרות Allow large results (no size limit).
אופציונלי: בשדה 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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
כדי לאפשר תוצאות גדולות, מגדירים את allow large results ל-true ומגדירים את destination table ל-TableId הרצוי ב-QueryJobConfiguration.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Node.js במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Node.js API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הורדה ושמירה של תוצאות שאילתות ממסוף Google Cloud
אחרי שמריצים שאילתת SQL באמצעות מסוף Google Cloud , אפשר לשמור את התוצאות במיקום אחר. אתם יכולים להשתמש במסוף Google Cloud כדי להוריד את תוצאות השאילתה לקובץ מקומי, ל-Google Sheets או ל-Google Drive. אם קודם ממיינים את תוצאות השאילתה לפי עמודה, הסדר נשמר בנתונים שהורדתם. אי אפשר לשמור תוצאות בקובץ מקומי, ב-Google Sheets או ב-Google Drive באמצעות כלי שורת הפקודה של BigQuery או ה-API.
מגבלות
ההורדה והשמירה של תוצאות השאילתה כפופות למגבלות הבאות:
- אפשר להוריד את תוצאות השאילתה באופן מקומי רק בפורמט CSV או בפורמט JSON שמופרד בשורות חדשות.
- אי אפשר לשמור ב-Google Sheets תוצאות של שאילתות שמכילות נתונים חוזרים ומקוננים.
- כדי לשמור תוצאות של שאילתות ב-Google Drive באמצעות מסוף Google Cloud , קבוצת התוצאות צריכה להיות בגודל של עד 1GB. אם התוצאות גדולות יותר, אפשר לשמור אותן בטבלה.
- כששומרים את תוצאות השאילתה בקובץ CSV מקומי, גודל ההורדה המקסימלי הוא 10MB.
גודל ההורדה המקסימלי מבוסס על הגודל של כל שורה שמוחזרת בתגובה ל-method
tabledata.list, והוא יכול להשתנות בהתאם לסכימה של תוצאות השאילתה. לכן, הגודל של קובץ ה-CSV שהורדתם יכול להשתנות, ויכול להיות שהוא יהיה קטן ממגבלת הגודל המקסימלית להורדה. - אפשר לשמור את תוצאות השאילתה ב-Google Drive רק בפורמט CSV או בפורמט JSON שמופרד בשורות חדשות.
המאמרים הבאים
- איך מייצאים טבלה לקובץ JSON באופן פרוגרמטי
- מידע על מכסות למשימות שאילתה
- מידע על מחירי האחסון ב-BigQuery