שימוש במנהל התקן ODBC ל-BigQuery
מנהל ההתקן Open Database Connectivity (ODBC) ל-BigQuery מקשר את האפליקציות שאינן מבוססות Java ל-BigQuery, ומאפשר לכם להשתמש בתכונות של BigQuery עם הכלים והתשתית המועדפים עליכם. כדי לחבר אפליקציות Java ל-BigQuery, משתמשים במנהל התקן JDBC ל-BigQuery.
מנהל ההתקן של ODBC ל-BigQuery זמין במסגרת רישיון Apache 2.0.
לפני שמתחילים
חשוב לוודא שאתם מכירים את מנהלי ההתקנים ומנהלי ההתקנים של ODBC.
מוודאים שמערכת ההפעלה עומדת בדרישות הבאות:
מערכת הפעלה ארכיטקטורות נתמכות גרסת מינימום ותלות Windows 32 ביט (x86), 64 ביט (x64) גרסה: Windows 10, Windows Server 2016 או גרסה מתקדמת יותר
תלות: Microsoft Visual C++ Redistributable ל-Visual Studio 2019 או 2022macOS 64 ביט (x86_64), ARM64 (Apple Silicon) גרסה: macOS 12 (Monterey) ואילך
תלות: מנהל מנהלי התקנים של ODBC (לדוגמה, unixODBC). חשוב להוסיף את ספריית ההתקנה אלDYLD_LIBRARY_PATH.Linux 64 ביט (x86_64) גרסה: כל הפצה עם glibc 2.27 ואילך (לדוגמה, Ubuntu 20.04 LTS ואילך, Debian 11 ואילך)
תלות: מנהל מנהלי התקנים של ODBC (לדוגמה, unixODBC). חשוב להוסיף את ספריית ההתקנה אלLD_LIBRARY_PATH.מאמתים את החיבור ל-BigQuery ורושמים את הפרטים הבאים, שבהם תשתמשו בהמשך כשתקימו חיבור עם מנהל התקן ODBC ל-BigQuery. צריך לציין רק את המידע שמתאים לשיטת האימות שבה אתם משתמשים.
שיטת אימות פרטי אימות דוגמה מאפיין חיבור (להגדרה מאוחר יותר) חשבון שירות רגיל מפתח של חשבון שירות (אובייקט JSON) my-sa-key.jsonKeyFilePathהתחזות לחשבון שירות כתובת האימייל של חשבון השירות של היעד service-account@project.ServiceAccountImpersonationEmail, KeyFilePathאיחוד זהויות של עומסי עבודה או איחוד שירותי אימות הזהות של כוח העבודה מאפיין הקהל של קובץ ההגדרה של החשבון החיצוני //iam.googleapis.com/locations/global/...BYOID_AudienceUrlאחזור טוקן וקובץ מידע על הסביבה {"file":"/path/to/file"}BYOID_CredentialSourceפרויקט של משתמש (רק למאגר כוח עבודה) my_projectBYOID_PoolUserProjectסוג אסימון STS id_tokenBYOID_SubjectTokenTypeנקודת הקצה של החלפת הטוקן של STS https://sts.googleapis.com/v1/tokenBYOID_TokenUrlApplication Default Credentials ללא לא רלוונטי לא רלוונטי
התקנה והגדרה של מנהל ההתקן של ODBC
אפשר להתקין ולהגדיר את מנהל ההתקן של ODBC ל-BigQuery באמצעות מערכת הפעלה של Windows או מערכת הפעלה אחרת.
Windows
מתקינים את מנהל ההתקן שמתאים לארכיטקטורה של האפליקציה:
- מורידים את קובץ
ODBCDriverforBigQuery_windows_x86.msiעבור אפליקציות 32 ביט. - מורידים את הקובץ
ODBCDriverforBigQuery_windows_x64.msiלאפליקציות של 64 ביט.
- מורידים את קובץ
כדי ליצור שם של מקור נתונים (DSN):
- בתפריט התחלה ב-Windows, עוברים אל מקורות נתונים של ODBC ובוחרים את הגרסה עם אותה רמת סיביות כמו באפליקציית הלקוח.
- בדף ODBC Data Source Administrator (הכלי לניהול מקורות נתונים של ODBC), לוחצים על הכרטיסייה Drivers (מנהלי התקנים).
- ברשימת מנהלי ה-ODBC המותקנים, מאתרים את ODBC Driver for BigQuery.
- בוחרים בכרטיסייה System DSN כדי ליצור DSN לכל המשתמשים, או בכרטיסייה User DSN כדי ליצור DSN למשתמש הנוכחי. בדרך כלל מומלץ להשתמש ב-DSN של המערכת, כי חלק מהאפליקציות טוענות נתונים באמצעות חשבונות משתמש שונים, ויכול להיות שהן לא יזהו DSN אחרים של משתמשים.
- לוחצים על הוספה.
- בתיבת הדו-שיח יצירת מקור נתונים חדש, בוחרים באפשרות ODBC Driver for BigQuery (מנהל התקן ODBC ל-BigQuery) ולוחצים על סיום. תיבת הדו-שיח ODBC Driver for BigQuery DSN Setup תיפתח.
- בשדה שם מקור הנתונים, מזינים שם ל-DSN.
- מוסיפים מאפייני חיבור. רשימה מלאה של הנכסים מופיעה במאמר בנושא נכסי חיבור.
מערכות הפעלה שאינן Windows
מתקינים את מנהל ההתקן שמתאים למערכת ההפעלה:
- מורידים את הקובץ
ODBCDriverforBigQuery_linux_latest.zipל-Linux. - מורידים את הקובץ
ODBCDriverforBigQuery_macos_latest.tar.gzל-macOS.
- מורידים את הקובץ
מחלצים את התוכן של קובץ ה-ZIP או ה-TAR שהורד.
מעבירים את התוכן של קובץ ה-ZIP או ה-TAR לספרייה שבה רוצים להתקין את הדרייבר. נתיב האובייקט המשותף של מנהל התקן ODBC ל-BigQuery הוא
INSTALL_DIR/lib/libgoogle_cloud_odbc_bq_driver.so, כאשרINSTALL_DIRהוא ספריית ההתקנה.מעדכנים את קובצי
.iniכך שישקפו את הנתיב החדש של הדרייבר.בדוגמה הבאה מתעדכנים קובצי
.iniבמערכת Linux:unzip linux_odbc-driver.VERSION.zip -d linux_odbc-driver.VERSION/ cd ./linux_odbc-driver.VERSION export INSTALL_DIR=$(pwd) export ODBCINI=$INSTALL_DIR/odbc.ini export ODBCINSTINI=$INSTALL_DIR/odbcinst.ini export GOOGLEBIGQUERYODBCINI=$INSTALL_DIR/googlebigqueryodbc.ini
מחליפים את
VERSIONבגרסת הדרייבר.
יצירת חיבור
כדי ליצור חיבור בין האפליקציה לבין BigQuery באמצעות מנהל ההתקן של ODBC ל-BigQuery, צריך לזהות את מחרוזת החיבור. אפשר לדלג על השלב הזה אם כבר הגדרתם מאפייני חיבור דרך ה-DSN.
מחרוזת החיבור היא בפורמט הבא:
Driver=ODBC Driver for BigQuery;Catalog=PROJECT_ID;OAuthMechanism=AUTH_TYPE;AUTH_PROPS;OTHER_PROPS
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב-BigQuery. -
AUTH_TYPE: מספר שמציין את סוג האימות שבו השתמשתם. בוחרים אחת מהאפשרויות הבאות:-
0: לאימות של חשבונות שירות -
3: לאימות באמצעות Application Default Credential -
4: לאימות באמצעות איחוד שירותי אימות הזהות של עומסי עבודה או איחוד שירותי אימות הזהות של כוח עבודה
-
-
AUTH_PROPS: פרטי האימות שרשמתם כשביצעתם אימות ב-BigQuery, שמופיעים בפורמטproperty_1=value_1; property_2=value_2;...– לדוגמה,KeyFilePath=my-sa-key.json, אם ביצעתם אימות באמצעות חשבון שירות. -
OTHER_PROPS(אופציונלי): מאפייני חיבור נוספים למנהל התקן ODBC, שמופיעים בפורמטproperty_1=value_1; property_2=value_2;.... רשימה מלאה של מאפייני החיבור זמינה במאמר בנושא מאפייני חיבור.
מאפייני החיבור
מאפייני חיבור של מנהל התקן ODBC הם פרמטרים של הגדרה שאתם כוללים במחרוזת החיבור כשאתם יוצרים חיבור למסד נתונים. מנהל ההתקן של ODBC ל-BigQuery תומך במאפייני החיבור הבאים.
| נכס חיבור | תיאור | ערך ברירת המחדל | סוג הנתונים | חובה |
|---|---|---|---|---|
AdditionalProjects |
פרויקטים שלמנהל ההתקן יש גישה אליהם לשאילתות ולפעולות מטא-נתונים, בנוסף לפרויקט הראשי שהוגדר על ידי המאפיין Catalog.
|
לא רלוונטי | מחרוזת מופרדת בפסיקים | לא |
AllowHtapiForLargeResults |
המדיניות הזו קובעת אם מנהל ההתקן יכול להשתמש ב-BigQuery Storage Read API. | 0 |
בוליאני | לא |
AllowLargeResults |
המאפיין הזה קובע אם הדרייבר מעבד תוצאות של שאילתות שגדולות מ-128 MB כשהמאפיין SQLDialect מוגדר ל-0 (SQL מדור קודם). אם המאפיין SQLDialect מוגדר לערך 1 (GoogleSQL), מנהל ההתקן תמיד מעבד תוצאות גדולות של שאילתות.
|
0 |
בוליאני | לא |
BYOID_AudienceUrl |
מכיל את שם המשאב של מאגר הזהויות של עומסי העבודה או של מאגר כוח העבודה, ואת מזהה הספק במאגר הזה. | לא רלוונטי | String | רק כשOAuthMechanism=4 |
BYOID_CredentialSource |
מגדירה את המידע הנדרש לאחזור האסימון עצמו, וגם מידע על הסביבה. | לא רלוונטי | String | רק כשOAuthMechanism=4 |
BYOID_PoolUserProject |
מגדירים את הפרויקט אם מדובר במאגר כוח עבודה ולא במאגר זהויות של עומסי עבודה. | לא רלוונטי | String | רק כשמשתמשים ב-OAuthMechanism=4 ובמאגר כוח עבודה |
BYOID_SubjectTokenType |
הגדרת סוג האסימון של STS על סמך מפרט המרת האסימון של OAuth 2.0. הערכים הצפויים כוללים:
|
לא רלוונטי | String | רק כשOAuthMechanism=4 |
BYOID_TokenUrl |
מגדיר את נקודת הקצה של החלפת הטוקן של STS. | https://sts.googleapis.com/v1/token |
String | לא |
Catalog |
מזהה הפרויקט ב-BigQuery שמוגדר כברירת מחדל עבור ה-driver. הדרייבר משתמש בפרויקט הזה כדי להריץ שאילתות, והחיוב על השימוש במשאבים מתבצע דרך הפרויקט. | לא רלוונטי | String | כן |
DefaultDataset |
משמש כמערך נתונים ייעודי בפרויקט, שהדרייבר מפנה אליו באופן אוטומטי כשמריצים שאילתות בלי לציין במפורש מערך נתונים. | לא רלוונטי | String | לא |
EnableSession |
קובע אם חיבור מתחיל סשן. כשהאפשרות הזו מופעלת, השאילתה הראשונה שמופעלת על ידי החיבור הספציפי הזה מתחילה סשן, והדרייבר מעביר את מזהה הסשן לכל השאילתות הבאות. | 0 |
בוליאני | לא |
FilterTablesOnDefaultDataset |
קובעת את היקף המטא-נתונים שמוחזרים על ידי שיטות של מטא-נתונים של טבלה או עמודה. כשהערך הוא false (0), לא מתבצע סינון. כדי להפעיל את הסינון, צריך להגדיר גם את הנכס DefaultDataset.
|
0 |
בוליאני | לא |
IgnoreTransactions |
כשההגדרה מופעלת (1 או TRUE), מנהל ההתקן מדלג על טיפול ידני בעסקאות (BEGIN TRANSACTION, COMMIT, ROLLBACK) כשההגדרה SQL_ATTR_AUTOCOMMIT מוגדרת לערך SQL_AUTOCOMMIT_OFF.
מומלץ להשתמש באפשרות הזו בכלי BI של צד שלישי ובכלי לקוח SQL (כמו Tableau, Power BI ו-DBeaver) שבהם ההגדרה autocommit מושבתת כברירת מחדל.
|
0 |
בוליאני | לא |
JobCreationMode |
מאפשר להפעיל את נתיב השאילתה עם זמן האחזור הנמוך. בוחרים אחת מהאפשרויות הבאות:
|
2 |
מספר שלם | לא |
KeyFilePath |
הנתיב לקובץ ה-JSON של מפתח חשבון השירות כשמשתמשים באימות של חשבון שירות. | לא רלוונטי | String |
רק כשOAuthMechanism=0
|
KMSKeyName |
מציינים את שם משאב המפתח של Cloud KMS שבו רוצים להשתמש להצפנה ולפענוח של נתונים. | לא רלוונטי | String | לא |
LargeResultsDataSetId |
מציינים את מערך הנתונים של היעד לאחסון תוצאות גדולות של שאילתות. | לא רלוונטי | String | לא |
LargeResultsTempTableExpirationTime |
מציין את משך החיים של טבלאות זמניות ב-LargeResultsDataSetId, באלפיות השנייה.
|
3600000 |
ארוכה | לא |
LogLevel |
מגביל את רמת הפירוט של הנתונים שהנהג רושם במהלך האינטראקציות. למידע נוסף, אפשר לעיין במאמר בנושא רישום ביומן והגדרת מנהל התקן.
בוחרים אחת מהאפשרויות הבאות:
|
0 |
מספר שלם | לא |
LogPath |
מציינת את הספרייה שבה מנהל ההתקן כותב קובצי יומן. למידע נוסף, אפשר לעיין במאמר בנושא רישום ביומן והגדרת מנהל התקן. | לא רלוונטי | String | לא |
LogFileCount |
מציינת את המספר המקסימלי של קובצי יומן שיישארו. | 0 |
מספר שלם | לא |
LogFileSize |
מציין את הגודל המקסימלי של כל קובץ יומן ב-KB. | 0 |
ארוכה | לא |
MaxRetries |
הגדרה של מספר הניסיונות החוזרים המקסימלי שהדרייבר מבצע עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff) כשנתקלים בשגיאות זמניות בממשקי ה-API של BigQuery REST ו-gRPC (כמו הגבלות קצב או HTTP 5xx) לפני החזרת שגיאה. | 6 |
מספר שלם | לא |
MaxThreads |
ההגדרה קובעת את המספר המקסימלי של שרשורים שהדרייבר יכול להשתמש בהם לעיבוד מקביל במאגר שרשורים. כדי להגדיר את המאפיין הזה כהגדרה כללית לדרייבר בסביבות שאינן Windows, מציינים אותו בקובץ googlebigqueryodbc.ini.
|
8 |
מספר שלם | לא |
OAuthMechanism |
סוג האימות. בוחרים אחת מהאפשרויות הבאות:
|
לא רלוונטי | מספר שלם | כן |
PrivateServiceConnectUris |
נקודות קצה (endpoints) מותאמות אישית שיחליפו את נקודות הקצה שמוגדרות כברירת מחדל. דוגמאות:
|
לא רלוונטי | מחרוזת מופרדת בפסיקים | לא |
ProxyHost |
שם המארח או כתובת ה-IP של שרת Proxy. | לא רלוונטי | String | לא |
ProxyPort |
מספר היציאה שבה שרת ה-proxy מאזין. | לא רלוונטי | String | לא |
ProxyPwd |
הסיסמה לאימות כשמתחברים דרך שרת proxy. | לא רלוונטי | String | לא |
ProxyUid |
שם המשתמש לאימות כשמתחברים דרך שרת proxy. | לא רלוונטי | String | לא |
QueryProperties |
הגדרת מאפיינים שיכולים לשנות את התנהגות השאילתה. | לא רלוונטי | Map<String, String> | לא |
RefreshToken |
טוקן רענון OAuth שמאוחסן לתהליכי אימות משתמשים. | לא רלוונטי | String | לא |
RowsFetchedPerBlock |
מציין את המספר המקסימלי של שורות שאוחזרו לכל בלוק או דף תוצאות מ-BigQuery. | 100000 |
ארוכה | לא |
ServiceAccountImpersonationEmail |
מציינת את כתובת האימייל של חשבון השירות שאליו רוצים להתחזות באמצעות פרטי הכניסה הבסיסיים של המתקשר. מאפשרת תהליכי עבודה של הקצאת הרשאות לריבוי דיירים (multi-tenant) ולפי עיקרון ההרשאה המינימלית, בלי להפיץ מפתחות פרטיים נוספים של חשבונות שירות. | לא רלוונטי | String | לא |
SessionLocation |
מציין את המיקום הגיאוגרפי (אזור או מספר אזורים) שבו מנהל התקן יוצר מערכי נתונים או שולח אליהם שאילתות ומריץ הפעלות של שאילתות (לדוגמה, US, EU או us-central1).
|
לא רלוונטי | String | לא |
SQLDialect |
מציינת באיזה דיאלקט של שאילתה להשתמש. משתמשים ב-1 ל-GoogleSQL (SQL סטנדרטי, מומלץ מאוד) וב-0 ל-SQL מדור קודם.
|
1 |
מספר שלם | לא |
TrustedCerts |
מציין את הנתיב המלא לקובץ אישורים מותאם אישית של רשות אישורים (CA) בסיסית בפורמט PEM של SSL/TLS (לדוגמה, roots.pem או cacerts.pem). מחליף את קובץ האישורים המצורף שמוגדר כברירת מחדל.
|
לא רלוונטי | String | לא |
UniverseDomain |
מציינים את דומיין היקום של הארגון. | googleapis.com |
String | לא |
UseDefaultLargeResultsDataset |
כשמגדירים את AllowLargeResults=1, המערכת קובעת אם מנהל ההתקן ינתב באופן אוטומטי תוצאות של שאילתות גדולות אל מערך הנתונים הזמני שמוגדר כברירת מחדל (_bqodbc_temp_tables). אם מגדירים את AllowLargeResults=1 ל-0, צריך לציין במפורש את LargeResultsDataSetId.
|
1 |
בוליאני | לא |
UseQueryCache |
הפעלת התכונה של שמירת שאילתות במטמון ב-BigQuery. | true |
בוליאני | לא |
UseSystemTrustStore |
Windows בלבד. ההגדרה הזו מורה לדרייבר לטעון ולאמת אישורי TLS מול מאגר אישורי האמון של Windows, במקום לחפש קובץ PEM מקומי. | 0 |
בוליאני | לא |
מיפוי סוגי נתונים
כשמריצים שאילתות דרך מנהל התקן ODBC ל-BigQuery, מתבצע מיפוי של סוגי הנתונים הבאים:
| סוג GoogleSQL | סוג SQL של ODBC |
|---|---|
INT64 | SQL_BIGINT |
BOOL | SQL_BIT |
DATE | SQL_TYPE_DATE |
FLOAT64 | SQL_DOUBLE |
TIME | SQL_TYPE_TIME |
TIMESTAMP | SQL_TYPE_TIMESTAMP |
DATETIME | SQL_TYPE_TIMESTAMP |
BYTES | SQL_VARBINARY |
STRING | SQL_VARCHAR |
ARRAY | SQL_VARCHAR |
STRUCT | SQL_VARCHAR |
INTERVAL | SQL_VARCHAR |
JSON | SQL_VARCHAR |
GEOGRAPHY | SQL_VARCHAR |
RANGE | SQL_VARCHAR |
NUMERIC | SQL_NUMERIC |
BIGNUMERIC | SQL_NUMERIC |
רישום ביומן והגדרת הדרייבר
כדי להגדיר אפשרויות שחלות על כל הדרייבר (כמו רישום ביומן וקידוד תווים):
Windows
מגדירים את האפשרויות של יומן הרישום ושל DSN באמצעות תיבת הדו-שיח להגדרת DSN בכלי ODBC Data Source Administrator.
מערכות הפעלה שאינן Windows
יוצרים או עורכים קובץ תצורה, כמו
googlebigqueryodbc.ini, ומוסיפים אפשרויות של מנהל התקן בקטע[Driver]. דוגמה:[Driver] LogLevel=3 LogPath=/path/to/log/directory LogFileCount=200 LogFileSize=1000 MaxThreads=8 WcharEncoding=UTF-16LEמגדירים את משתנה הסביבה
GOOGLEBIGQUERYODBCINIלנתיב של הקובץ הזה:export GOOGLEBIGQUERYODBCINI=/path/to/googlebigqueryodbc.ini
רמות רישום ביומן של נהגים
הדרייבר תומך ברמות רישום ביומן 0 עד 3. מומלץ להתחיל ב-LogLevel=3 (INFO) כדי לפתור בעיות.
| רמת הרישום ביומן של ODBC | תיאור |
|---|---|
| 0 (מושבת) | השבתה של כל הרישום ביומן. |
| 1 (ERROR) | אירועי שגיאה ביומן. |
| 2 (אזהרה) | אירועי אזהרה ביומנים. |
| 3 (INFO) | יומן שכולל מידע כללי על התקדמות הנהג. |
מאפייני הגדרה של הדרייבר (לא Windows)
אפשר להגדיר את המאפיינים הבאים בקטע [Driver] ב-googlebigqueryodbc.ini:
| נכס | תיאור | ערכים מותרים | ערך ברירת המחדל |
|---|---|---|---|
WcharEncoding |
המאפיין הזה שולט באופן מפורש בקידוד של מאגרי תווים של SQLWCHAR כשמעבירים מחרוזות של תווים רחבים בין מנהל ההתקן לבין מנהל התקן ODBC (לדוגמה, WcharEncoding=UTF-16LE). המאפיין הזה פותר בעיות של שיבוש תווים וקיטוע תווים ב-unixODBC (בדרך כלל UTF-16LE של 2 בייט) וב-iODBC (בדרך כלל UTF-32LE של 4 בייט).
|
UTF-8, UTF-16LE, UTF-32LE |
ריק (זיהוי אוטומטי על סמך sizeof(SQLWCHAR)) |
MaxThreads |
ההגדרה קובעת את המספר המקסימלי של שרשורים שהדרייבר יכול להשתמש בהם לעיבוד מקביל במאגר שרשורים. | מספר שלם חיובי | 8 |
דוגמאות
בדוגמאות הבאות מוסבר איך להשתמש בשאילתות עם פרמטרים ובסקריפטים עם כמה הצהרות באמצעות מנהל התקן ODBC.
שאילתות שמכילות פרמטרים
// 1. Prepare statement std::string insert_stmt = "INSERT INTO MyTable VALUES (?, ?, ?)"; status = SQLPrepare(hstmt, (SQLCHAR*)insert_stmt.c_str(), SQL_NTS); // 2. Bind parameters std::string str_val = "example_string"; long long int_val = 12345; double float_val = 1.2345; // Bind string field status = SQLBindParameter( hstmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_VARCHAR, 50, 0, (SQLPOINTER)str_val.c_str(), str_val.size(), NULL); // Bind integer field status = SQLBindParameter( hstmt, 2, SQL_PARAM_INPUT, SQL_C_UBIGINT, SQL_BIGINT, 0, 0, &int_val, 0, NULL); // Bind float field status = SQLBindParameter( hstmt, 3, SQL_PARAM_INPUT, SQL_C_DOUBLE, SQL_DOUBLE, 0, 0, &float_val, 0, NULL); // 3. Execute statement status = SQLExecute(hstmt);
סקריפטים עם כמה הצהרות
// 1. Prepare and execute the multi-statement script std::string query = "CREATE OR REPLACE TABLE MyTable (StringField STRING, IntegerField INTEGER); " "INSERT INTO MyTable VALUES ('example', 123); " "SELECT * FROM MyTable;"; status = SQLExecDirect(hstmt, (SQLCHAR*)query.c_str(), SQL_NTS); // 2. Process results for each statement using SQLMoreResults do { SQLSMALLINT num_cols; status = SQLNumResultCols(hstmt, &num_cols); if (num_cols > 0) { // This is a result-returning statement (e.g., SELECT) while (SQLFetch(hstmt) == SQL_SUCCESS) { // Process rows... } } else { // This is a non-result statement (e.g., CREATE, INSERT) SQLLEN row_count; SQLRowCount(hstmt, &row_count); // Process affected rows... } } while (SQLMoreResults(hstmt) == SQL_SUCCESS);
תמחור
אפשר להוריד את מנהל ההתקן של ODBC ל-BigQuery ללא עלות. עם זאת, כשמשתמשים במנהל ההתקן, חלים תעריפי הניתוח הרגילים של BigQuery.