עבודה עם הזמנות של יחידות קיבולת (Slot) בגרסה הקודמת
BigQuery Reservation API מאפשר לכם לרכוש משבצות זמן ייעודיות (שנקראות התחייבויות), ליצור מאגרי משבצות זמן (שנקראים הזמנות) ולהקצות פרויקטים, תיקיות וארגונים להזמנות האלה.
הזמנות מאפשרות להקצות מספר ייעודי של משבצות לטובת עומס עבודה. לדוגמה, יכול להיות שלא תרצו שעומס עבודה בסביבת ייצור יתחרה עם עומסי עבודה של בדיקות על משבצות. אפשר ליצור הזמנה בשם prod ולהקצות לה את עומסי העבודה של סביבת הייצור. מידע נוסף זמין במאמר בנושא הזמנות.
יצירת הזמנות
ההרשאות הנדרשות
כדי ליצור הזמנה, אתם צריכים את ההרשאה הבאה לניהול זהויות והרשאות גישה (IAM):
bigquery.reservations.createבפרויקט הניהול שבו נשמרת הבעלות על ההתחייבויות.
כל אחד מהתפקידים הבאים שמוגדרים מראש ב-IAM כולל את ההרשאה הזו:
BigQuery AdminBigQuery Resource AdminBigQuery Resource Editor
מידע נוסף על תפקידי IAM ב-BigQuery זמין במאמר תפקידים והרשאות מוגדרים מראש.
יצירת בקשה לשמירת מקום עם משבצות ייעודיות
בוחרים באחת מהאפשרויות הבאות:
המסוף
במסוף Google Cloud , עוברים לדף BigQuery.
בתפריט הניווט, לוחצים על Workload management.
לוחצים על יצירת בקשה לשמירת מקום.
בשדה Reservation name, מזינים שם להזמנה.
בתפריט הנפתח מיקום, בוחרים את המיקום.
בקטע Capacity Model (מודל קיבולת), בוחרים את מודל הקיבולת.
אם בוחרים באפשרות תעריף קבוע, בקטע משבצות זמן בסיסיות, מזינים את מספר משבצות הזמן להזמנה.
- ברשימה Max reservation size selector, בוחרים את הגודל המקסימלי של ההזמנה.
אופציונלי: בשדה Baseline slots, מזינים את מספר המשבצות הבסיסיות להזמנה. כדי להשתמש רק בקיבולת המשבצות שצוינה, לוחצים על המתג התעלמות ממשבצות פנויות.
כדי לחשב את מספר המשבצות הזמינות לשינוי גודל אוטומטי, מפחיתים את ערך משבצות הבסיס מערך הגודל המקסימלי של ההזמנה. לדוגמה, אם יוצרים הזמנה עם 100 משבצות זמן בסיסיות וגודל הזמנה מקסימלי של 400, ההזמנה כוללת 300 משבצות זמן של שינוי גודל אוטומטי. מידע נוסף על משבצות בסיסיות זמין במאמר בנושא שימוש בהזמנות עם משבצות בסיסיות ומשבצות של שינוי גודל אוטומטי.
כדי להשבית את שיתוף משבצות זמן פנויות, לוחצים על המתג התעלמות ממשבצות זמן פנויות.
פירוט המשבצות מוצג בטבלה Cost estimate. סיכום של ההזמנה מוצג בטבלה Capacity summary.
לוחצים על Save.
ההזמנה החדשה מופיעה בכרטיסייה הזמנות.
SQL
כדי ליצור הזמנה, משתמשים במשפט CREATE RESERVATION DDL.
במסוף Google Cloud , עוברים לדף BigQuery.
מזינים את ההצהרה הבאה בעורך השאילתות:
CREATE RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, );
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט של פרויקט הניהול שבבעלותו משאב ההזמנה -
LOCATION: המיקום של ההזמנה. אם בוחרים מיקום ב-BigQuery Omni, אפשר לבחור רק במהדורת Enterprise.
RESERVATION_NAME: השם של ההזמנההוא צריך להתחיל ולהסתיים באות קטנה או במספר ולכלול רק אותיות קטנות, מספרים ומקפים.
-
NUMBER_OF_BASELINE_SLOTS: מספר המשבצות של תוכנית הבסיס להקצאה להזמנה. אי אפשר להגדיר את האפשרותslot_capacityואת האפשרותeditionבאותה הזמנה. -
EDITION: מהדורת ההזמנה. הקצאת הזמנה למהדורה מסוימת מביאה לשינויים בתכונות ובמחירים. מידע נוסף זמין במאמר מבוא למהדורות BigQuery. -
NUMBER_OF_AUTOSCALING_SLOTS: מספר המשבצות להרחבת הקיבולת שהוקצו להזמנה. הערך הזה שווה לערך של גודל ההזמנה המקסימלי פחות מספר המשבצות הבסיסיות.
-
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
כדי ליצור הזמנה, משתמשים בפקודה bq mk עם הדגל --reservation:
bq mk \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--reservation \
--slots=NUMBER_OF_BASELINE_SLOTS \
--ignore_idle_slots=false \
RESERVATION_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט -
LOCATION: המיקום של ההזמנה. אם בוחרים מיקום ב-BigQuery Omni, אפשר לבחור רק במהדורת Enterprise.
NUMBER_OF_BASELINE_SLOTS: מספר משבצות הבסיס להקצאה להזמנה
RESERVATION_NAME: השם של ההזמנה
EDITION: מהדורת ההזמנה. הקצאת הזמנה למהדורה מסוימת מביאה לשינויים בתכונות ובמחירים. מידע נוסף זמין במאמר מבוא למהדורות BigQuery.
NUMBER_OF_AUTOSCALING_SLOTS: מספר המשבצות להרחבת הקיבולת שהוקצו להזמנה. הערך הזה שווה לערך של גודל ההזמנה המקסימלי פחות מספר המשבצות הבסיסיות.
מידע על הדגל --ignore_idle_slots זמין במאמר בנושא משבצות זמן פנויות. ערך ברירת המחדל הוא false.
Python
עדכון הזמנות
אפשר לבצע את העדכונים הבאים בהזמנה:
- משנים את גודל ההזמנה על ידי הוספה או הסרה של משבצות זמן.
- הגדרת האפשרות להשתמש ביחידות קיבולת (Slots) פנויות בשאילתות במקום השמור הזה.
- שינוי מספר המשבצות של קו הבסיס או של שינוי הגודל האוטומטי שהוקצו להזמנה.
ההרשאות הנדרשות
כדי לעדכן הזמנה, אתם צריכים את ההרשאה הבאה לניהול זהויות והרשאות גישה (IAM):
bigquery.reservations.updateבפרויקט הניהול שבו נשמרת הבעלות על ההתחייבויות.
כל אחד מהתפקידים הבאים שמוגדרים מראש ב-IAM כולל את ההרשאה הזו:
BigQuery AdminBigQuery Resource AdminBigQuery Resource Editor
מידע נוסף על תפקידי IAM ב-BigQuery זמין במאמר תפקידים והרשאות מוגדרים מראש.
שינוי הגודל של הזמנה
אפשר להוסיף או להסיר משבצות זמן מהזמנה קיימת.
המסוף
במסוף Google Cloud , עוברים לדף BigQuery.
בתפריט הניווט, לוחצים על Workload management.
לוחצים על הכרטיסייה הזמנות.
מאתרים את ההזמנה שרוצים לעדכן.
מרחיבים את האפשרות Actions (פעולות).
לוחצים על Edit.
בתיבת הדו-שיח Max reservation size selector (בורר הגודל המקסימלי של ההזמנה), מזינים את הגודל המקסימלי של ההזמנה.
בשדה משבצות בסיסיות, מזינים את מספר המשבצות הבסיסיות.
לוחצים על Save.
SQL
כדי לשנות את הגודל של הזמנה, משתמשים בהצהרה של שפת הגדרת נתונים (DDL) ALTER RESERVATION SET OPTIONS.
במסוף Google Cloud , עוברים לדף BigQuery.
מזינים את ההצהרה הבאה בעורך השאילתות:
ALTER RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` SET OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, );
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט של פרויקט הניהול שבבעלותו משאב ההזמנה -
LOCATION: המיקום של השמירה, לדוגמהeurope-west9.
RESERVATION_NAME: השם של השמורה. הוא צריך להתחיל ולהסתיים באות קטנה או במספר ולכלול רק אותיות קטנות, מספרים ומקפים.-
NUMBER_OF_BASELINE_SLOTS: מספר המשבצות של תוכנית הבסיס להקצאה להזמנה.
-
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
כדי לעדכן את גודל ההזמנה, משתמשים בפקודה bq update עם הדגל --reservation:
bq update \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--slots=NUMBER_OF_BASELINE_SLOTS \
--reservation RESERVATION_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט -
LOCATION: המיקום של ההזמנה -
NUMBER_OF_BASELINE_SLOTS: מספר משבצות הבסיס להקצאה להזמנה -
RESERVATION_NAME: השם של ההזמנה
Python
הגדרת האפשרות להשתמש ביחידות קיבולת (Slots) פנויות בשאילתות
הדגל --ignore_idle_slots קובע אם שאילתות שמופעלות בהזמנה יכולות להשתמש ביחידות קיבולת (Slots) פנויות מהזמנות אחרות. מידע נוסף מופיע במאמר בנושא משבצות זמן פנויות. אפשר לעדכן את ההגדרה הזו בהזמנה קיימת.
כדי לעדכן הזמנה, משתמשים בפקודה bq update עם הדגל --reservation . בדוגמה הבאה, הערך של --ignore_idle_slots נקבע כ-true, כלומר ההזמנה תשתמש רק במשבצות שהוקצו להזמנה.
bq update \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--ignore_idle_slots=true \
--reservation RESERVATION_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט -
LOCATION: המיקום של ההזמנה -
RESERVATION_NAME: השם של ההזמנה
הצגת ההגדרה של משבצות זמן פנויות
כדי להציג את ההגדרה idle slots של הזמנה:
SQL
שליחת שאילתה לעמודה ignore_idle_slots של התצוגה INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT.
במסוף Google Cloud , עוברים לדף BigQuery.
מזינים את ההצהרה הבאה בעורך השאילתות:
SELECT reservation_name, ignore_idle_slots FROM `ADMIN_PROJECT_ID.region-LOCATION`.INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT;
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט של פרויקט הניהול שבבעלותו משאבי ההזמנה -
LOCATION: המיקום של ההזמנות
-
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
משתמשים בפקודה bq ls עם הדגל --reservation:
bq ls --reservation \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט של פרויקט הניהול שבבעלותו משאבי המקום השמור -
LOCATION: המיקום של ההזמנות
השדה ignoreIdleSlots מכיל את הגדרת התצורה.
מחיקת הזמנות
כשמוחקים הזמנה, כל המשימות שמופעלות כרגע עם משבצות מההזמנה הזו ייכשלו. כדי למנוע שגיאות, צריך לאפשר להפעלת משימות להסתיים לפני שמוחקים את ההזמנה.
ההרשאות הנדרשות
כדי למחוק הזמנה, אתם צריכים את ההרשאה הבאה לניהול זהויות והרשאות גישה (IAM):
bigquery.reservations.deleteבפרויקט הניהול שבו נשמרת הבעלות על ההתחייבויות.
כל אחד מהתפקידים הבאים שמוגדרים מראש ב-IAM כולל את ההרשאה הזו:
BigQuery AdminBigQuery Resource AdminBigQuery Resource Editor
מידע נוסף על תפקידי IAM ב-BigQuery זמין במאמר תפקידים והרשאות מוגדרים מראש.
מחיקת הזמנה
המסוף
במסוף Google Cloud , עוברים לדף BigQuery.
בתפריט הניווט, לוחצים על Workload management.
לוחצים על הכרטיסייה הזמנות.
מאתרים את ההזמנה שרוצים למחוק.
מרחיבים את האפשרות Actions (פעולות).
לוחצים על Delete.
בתיבת הדו-שיח מחיקת ההזמנה, לוחצים על מחיקה.
SQL
כדי למחוק הזמנה, משתמשים בהצהרת DROP RESERVATION DDL.
במסוף Google Cloud , עוברים לדף BigQuery.
מזינים את ההצהרה הבאה בעורך השאילתות:
DROP RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME`;
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט של פרויקט הניהול שבבעלותו משאב ההזמנה -
LOCATION: המיקום של ההזמנה -
RESERVATION_NAME: המזהה של השריון
-
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
כדי למחוק הזמנה, משתמשים בפקודה bq rm עם הדגל --reservation:
bq rm \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--reservation RESERVATION_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
ADMIN_PROJECT_ID: מזהה הפרויקט של פרויקט הניהול שבבעלותו משאב המקום השמור -
LOCATION: המיקום של ההזמנה -
RESERVATION_NAME: השם של ההזמנה
Python
הוספת BigQuery Reservation API ל-VPC Service Controls
BigQuery Reservation API תומך ב-VPC Service Controls. כדי לשלב את BigQuery Reservation API עם VPC Service Controls, פועלים לפי ההוראות במאמר יצירת היקף שירות ומוסיפים את BigQuery Reservation API לשירותים המוגנים.
גבולות גזרה לשירות מגנים על הגישה להזמנות, להתחייבויות ולהקצאות בפרויקטים של ניהול שמוגדרים בגבולות הגזרה. כשיוצרים הקצאה, ה-VPC Service Controls מגן על פרויקט הניהול ועל הפרויקט, התיקייה והארגון של מקבל ההקצאה.