ניהול מערכי נתונים
במאמר הזה מוסבר איך להעתיק מערכי נתונים, ליצור מחדש מערכי נתונים במיקום אחר, להגן על מערכי נתונים, למחוק מערכי נתונים ולשחזר טבלאות ממערכי נתונים שנמחקו ב-BigQuery. מידע על אופן השחזור (או ביטול המחיקה) של קבוצת נתונים שנמחקה זמין במאמר שחזור של קבוצות נתונים שנמחקו.
אדמינים ב-BigQuery יכולים לארגן את הגישה לטבלאות ולתצוגות שמשמשות אנליסטים, ולשלוט בה. מידע נוסף על קבוצות נתונים זמין במאמר מבוא לקבוצות נתונים.
אי אפשר לשנות את השם של מערך נתונים קיים או להעביר אותו למיקום אחר אחרי שיוצרים אותו. כדי לעקוף את הבעיה, אפשר להעתיק מערך נתונים ולשנות את השם של מערך הנתונים ביעד.כדי להעביר מיקום של מערך נתונים, אפשר להשתמש באחת מהשיטות הבאות:
התפקידים הנדרשים
בקטע הזה מוסבר על התפקידים וההרשאות שנדרשים לניהול מערכי נתונים. אם מערך הנתונים של המקור או היעד נמצא באותו פרויקט שבו אתם משתמשים כדי להעתיק, לא תצטרכו הרשאות או תפקידים נוספים במערך הנתונים הזה.
העתקת קבוצת נתונים
כדי להעתיק מערך נתונים, צריך להקצות את התפקידים האלה. העתקה של קבוצות נתונים היא בסטטוס בטא.
כדי לקבל את ההרשאות שדרושות להעתקת מערכי נתונים, בקשו מהאדמין להקצות לכם את התפקידים הבאים ב-IAM:
- אדמין ב-BigQuery (
roles/bigquery.admin) – פרויקט היעד - צפייה בנתוני BigQuery (
roles/bigquery.dataViewer) – מערך הנתונים של המקור
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות כדי להעתיק מערכי נתונים. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להעתיק מערכי נתונים, צריך את ההרשאות הבאות:
-
bigquery.transfers.updateבפרויקט היעד -
bigquery.jobs.createבפרויקט היעד -
bigquery.datasets.getבמערך נתוני המקור ובמערך נתוני היעד -
bigquery.tables.listבקבוצת הנתונים של המקור ושל היעד -
bigquery.datasets.updateבמערך הנתונים של היעד -
bigquery.tables.createבמערך הנתונים של היעד
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מחיקת קבוצת נתונים
צריך להקצות את התפקידים האלה כדי למחוק קבוצת נתונים.
כדי לקבל את ההרשאות שנדרשות למחיקת מערכי נתונים, צריך לבקש מהאדמין להקצות לכם את התפקיד BigQuery Data Owner (roles/bigquery.dataOwner) ב-IAM בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות למחיקת מערכי נתונים. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי למחוק מערכי נתונים, צריך את ההרשאות הבאות:
-
bigquery.datasets.deleteבפרויקט -
bigquery.tables.deleteבפרויקט
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
העתקת מערכי נתונים
אתם יכולים להעתיק מערך נתונים, כולל נתונים מחולקים למחיצות בתוך אזור או בין אזורים, בלי לחלץ, להעביר או לטעון מחדש נתונים ל-BigQuery. BigQuery משתמש ב-שירות העברת נתונים ל-BigQuery בקצה העורפי כדי להעתיק מערכי נתונים. במאמר מיקום הנתונים והעברה שלהם מפורטים שיקולים לגבי מיקום הנתונים כשמעבירים אותם.
לכל הגדרה של העתקת קבוצת נתונים יכולה להיות הפעלה אחת של העברה בכל פעם. הפעלות נוספות של העברה מתווספות לתור. אם אתם משתמשים במסוף Google Cloud , אתם יכולים לתזמן העתקות חוזרות ולהגדיר הודעות באימייל או ב-Pub/Sub באמצעות שירות העברת הנתונים ל-BigQuery.
מגבלות
כשמעתיקים מערכי נתונים, חלות המגבלות הבאות:
אי אפשר להעתיק את המשאבים הבאים ממערך נתונים של מקור:
- צפיות.
- שגרות, כולל פונקציות UDF.
- טבלאות חיצוניות.
- טבלאות של סימון נתונים שהשתנו (CDC) אם עבודת ההעתקה מתבצעת בין אזורים. אפשר להעתיק טבלאות CDC באותו אזור.
אי אפשר להעתיק טבלאות בין אזורים שונים אם הטבלאות מוצפנות באמצעות מפתחות הצפנה בניהול הלקוח (CMEK), כשמערך הנתונים של היעד לא מוצפן באמצעות CMEK ולא סופק CMEK. אפשר להעתיק בין אזורים טבלאות עם הצפנת ברירת מחדל.
אתם יכולים להעתיק את כל הטבלאות המוצפנות באותו אזור, כולל טבלאות שמוצפנות באמצעות CMEK.
אי אפשר להשתמש במשאבים הבאים כמערכי נתונים של יעד למשימות העתקה:
- אחסון עם אופטימיזציה לכתיבה.
קבוצת נתונים שמוצפנת באמצעות CMEK, אם משימת ההעתקה היא בין אזורים וטבלת המקור לא מוצפנת באמצעות CMEK.
עם זאת, אפשר להשתמש בטבלאות שמוצפנות באמצעות CMEK כטבלאות יעד כשמעתיקים בתוך אותו אזור.
התדירות המינימלית בין עבודות העתקה היא 12 שעות.
אי אפשר להוסיף נתונים לטבלה עם או בלי מחיצות בקבוצת הנתונים של היעד. אם אין שינויים בטבלת המקור, המערכת מדלגת על הטבלה. אם טבלת המקור מתעדכנת, טבלת היעד נחתכת ומוחלפת לחלוטין.
אם טבלה קיימת גם במערך הנתונים של המקור וגם במערך הנתונים של היעד, וטבלת המקור לא השתנתה מאז ההעתקה המוצלחת האחרונה, המערכת מדלגת עליה. המערכת מדלגת על טבלת המקור גם אם מסמנים את התיבה Overwrite destination tables.
כשמבצעים חיתוך של טבלאות במערך הנתונים של היעד, עבודת ההעתקה של מערך הנתונים לא מזהה שינויים שבוצעו במשאבים במערך הנתונים של היעד לפני שהיא מתחילה את עבודת ההעתקה. משימת ההעתקה של מערך הנתונים מחליפה את כל הנתונים במערך הנתונים של היעד, כולל הטבלאות והסכימה.
יכול להיות שהשינויים שבוצעו בטבלאות המקור אחרי שהתחילה משימת ההעתקה לא יופיעו בטבלת היעד.
אי אפשר להעתיק מערך נתונים באזורים של BigQuery Omni.
כדי להעתיק קבוצת נתונים לפרויקט בגבולות גזרה לשירות אחרים של VPC Service Controls, צריך להגדיר את כללי תעבורת הנתונים היוצאת הבאים:
בגבולות הגזרה לשירות של VPC Service Controls בפרויקט היעד, לחשבון המשתמש ב-IAM צריכות להיות ה-methods הבאות:
bigquery.datasets.getbigquery.tables.listbigquery.tables.get,bigquery.tables.getData
בהגדרות של גבולות הגזרה לשירות של VPC Service Controls בפרויקט המקור, צריך להגדיר את השיטה
All Methodsלחשבון המשתמש ב-IAM.
אם תנסו לעדכן הגדרת העברה של עותק של מערך נתונים שלא בבעלותכם, יכול להיות שהעדכון ייכשל ותופיע הודעת השגיאה הבאה:
Cannot modify restricted parameters without taking ownership of the transfer configuration.הבעלים של עותק מערך הנתונים הוא המשתמש שמשויך לעותק מערך הנתונים או המשתמש שיש לו גישה לחשבון השירות שמשויך לעותק מערך הנתונים. המשתמש המשויך מופיע בפרטי ההגדרה של העותק של מערך הנתונים. במאמר עדכון פרטי הכניסה מוסבר איך לעדכן את העותק של קבוצת הנתונים כדי לקבל בעלות. כדי לתת למשתמשים גישה לחשבון שירות, צריך להיות לכם את התפקיד "משתמש בחשבון שירות".
הפרמטרים שהבעלים הגביל להעתקות של מערכי נתונים הם:
- פרויקט המקור
- מערך הנתונים של המקור
- קבוצת נתוני היעד
- ההגדרה "החלפת טבלת היעד"
כל ההגבלות על העתקת טבלאות בין אזורים חלות.
העתקת מערך נתונים
בוחרים באחת מהאפשרויות הבאות:
המסוף
מפעילים את שירות העברת הנתונים ל-BigQuery במערך הנתונים של היעד.
מוודאים שיש לכם את התפקידים הנדרשים.
אם אתם מתכוונים להגדיר התראות על הפעלת העברות ב-Pub/Sub (אפשרות 2 בהמשך השלבים האלה), אתם צריכים את ההרשאה
pubsub.topics.setIamPolicy.אם אתם מגדירים רק התראות באימייל, אתם לא צריכים הרשאות ל-Pub/Sub. למידע נוסף, קראו את המאמר התראות על הרצה של שירות העברת הנתונים ל-BigQuery.
יוצרים קבוצת נתונים ב-BigQuery באותו אזור או באזור אחר מקבוצת הנתונים של המקור.
אפשרות 1: שימוש בפונקציית ההעתקה של BigQuery
כדי ליצור העברה חד-פעמית, משתמשים בפונקציית ההעתקה של BigQuery:
נכנסים לדף BigQuery.
בחלונית השמאלית, לוחצים על Explorer:

אם לא רואים את החלונית הימנית, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Datasets ואז בוחרים מערך נתונים.
בקטע Dataset info, לוחצים על Copy ומבצעים את הפעולות הבאות:
בשדה Dataset, יוצרים מערך נתונים חדש או בוחרים מזהה של מערך נתונים קיים מהרשימה.
שמות מערכי הנתונים בפרויקט צריכים להיות ייחודיים. הפרויקט ומערך הנתונים יכולים להיות באזורים שונים, אבל לא כל האזורים נתמכים להעתקת מערכי נתונים בין אזורים.
בשדה Location מוצג המיקום של מערך הנתונים המקורי.
אופציונלי: כדי להחליף את הנתונים והסכימה של טבלאות היעד בטבלאות המקור, מסמנים את תיבת הסימון החלפת טבלאות היעד. סכימת החלוקה למחיצות של טבלת המקור ושל טבלת היעד צריכה להיות זהה.
כדי להעתיק את קבוצת הנתונים, לוחצים על העתקה.
אפשרות 2: שימוש בשירות העברת נתונים ל-BigQuery
כדי לתזמן העתקות חוזרות ולהגדיר התראות באימייל או ב-Pub/Sub, משתמשים בשירות העברת הנתונים ל-BigQuery במסוף Google Cloud של פרויקט היעד:
נכנסים לדף העברות נתונים.
לוחצים על Create a transfer.
ברשימה מקור, בוחרים באפשרות העתקת מערך נתונים.
בשדה שם מוצג, מזינים שם להרצת ההעברה.
בקטע Schedule options:
בקטע תדירות החזרה, בוחרים אפשרות לתדירות ההפעלה של ההעברה:
אם בוחרים באפשרות בהתאמה אישית, מזינים תדירות מותאמת אישית, לדוגמה:
every day 00:00. מידע נוסף זמין במאמר עיצוב לוח הזמנים.בשדה תאריך ושעת התחלה, מזינים את התאריך והשעה שבהם רוצים להתחיל את ההעברה. אם בוחרים באפשרות התחלה עכשיו, האפשרות הזו מושבתת.
בקטע Destination settings, בוחרים את מערך הנתונים שבו רוצים לשמור את נתוני ההעברה. אפשר גם ללחוץ על CREATE NEW DATASET כדי ליצור מערך נתונים חדש לפני שבוחרים אותו להעברה הזו.
בקטע פרטי מקור הנתונים, מזינים את הפרטים הבאים:
- בשדה Source dataset (מערך נתונים של המקור), מזינים את מזהה מערך הנתונים שרוצים להעתיק.
- בשדה Source project, מזינים את מזהה הפרויקט של מערך הנתונים במקור.
כדי להחליף גם את הנתונים וגם את הסכימה של טבלאות היעד בטבלאות המקור, מסמנים את התיבה Overwrite destination tables. טבלת המקור וטבלת היעד צריכות להיות עם אותה סכימת חלוקה למחיצות.
בתפריט Service Account, בוחרים חשבון שירות מבין חשבונות השירות שמשויכים לפרויקט ב-Google Cloud . אתם יכולים לשייך חשבון שירות להעברה במקום להשתמש בפרטי הכניסה של המשתמש. מידע נוסף על השימוש בחשבונות שירות להעברת נתונים זמין במאמר שימוש בחשבונות שירות.
- אם נכנסתם באמצעות זהות מאוחדת, תצטרכו חשבון שירות כדי ליצור העברה. אם נכנסתם באמצעות חשבון Google, חשבון שירות להעברה הוא אופציונלי.
- לחשבון השירות צריכים להיות התפקידים הנדרשים.
אופציונלי: בקטע אפשרויות התראה, מבצעים את הפעולות הבאות:
לוחצים על Save.
BQ
מפעילים את שירות העברת הנתונים ל-BigQuery במערך הנתונים של היעד.
מוודאים שיש לכם את התפקידים הנדרשים.
כדי ליצור מערך נתונים ב-BigQuery, משתמשים בפקודה
bq mkעם הדגל ליצירת מערך נתונים--datasetוהדגלlocation:bq mk \ --dataset \ --location=LOCATION \ PROJECT:DATASET
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION: המיקום שאליו רוצים להעתיק את מערך הנתונים -
PROJECT: מזהה הפרויקט של מערך הנתונים המיועד -
DATASET: השם של מערך הנתונים של היעד
-
כדי להעתיק מערך נתונים, משתמשים בפקודה
bq mkעם דגל יצירת ההעברה--transfer_configוהדגל--data_source. צריך להגדיר את הדגל--data_sourceלערךcross_region_copy. רשימה מלאה של הערכים התקינים לשימוש עם הדגל--data_sourceמופיעה במאמר דגלים של transfer-config בחומר העזר לכלי שורת הפקודה של BigQuery.bq mk \ --transfer_config \ --project_id=PROJECT \ --data_source=cross_region_copy \ --target_dataset=DATASET \ --display_name=NAME \ --service_account_name=SERCICE_ACCOUNT \ --params='PARAMETERS'
מחליפים את מה שכתוב בשדות הבאים:
NAME: השם המוצג של משימת ההעתקה או של הגדרות ההעברה
SERVICE_ACCOUNT: השם של חשבון השירות שמשמש לאימות ההעברה. חשבון השירות צריך להיות בבעלות אותוproject_idששימש ליצירת ההעברה, וצריכות להיות לו כל ההרשאות הנדרשות.
PARAMETERS: הפרמטרים של הגדרת ההעברה בפורמט JSONהפרמטרים של הגדרת העתקה של מערך נתונים כוללים את הפרטים הבאים:
-
source_dataset_id: המזהה של מערך נתוני המקור שרוצים להעתיק -
source_project_id: מזהה הפרויקט שבו נמצא מערך הנתונים של המקור -
overwrite_destination_table: דגל אופציונלי שמאפשר לחתוך את הטבלאות של עותק קודם ולרענן את כל הנתונים
סכימת החלוקה למחיצות של טבלת המקור ושל טבלת היעד צריכה להיות זהה.
-
בדוגמאות הבאות מוצג הפורמט של הפרמטרים, על סמך סביבת המערכת שלכם:
Linux: משתמשים במירכאות בודדות כדי לתחום את מחרוזת ה-JSON. לדוגמה:
'{"source_dataset_id":"mydataset","source_project_id":"mysourceproject","overwrite_destination_table":"true"}'שורת הפקודה של Windows: משתמשים במירכאות כפולות כדי להקיף את מחרוזת ה-JSON, ומסמנים בתו בריחה (escape) את המירכאות הכפולות במחרוזת באמצעות קו נטוי הפוך – לדוגמה:
"{\"source_dataset_id\":\"mydataset\",\"source_project_id\":\"mysourceproject\",\"overwrite_destination_table\":\"true\"}"PowerShell: משתמשים במירכאות בודדות כדי לתחום את מחרוזת ה-JSON, ומוסיפים לוכסן הפוך לפני המירכאות הכפולות במחרוזת. לדוגמה:
'{\"source_dataset_id\":\"mydataset\",\"source_project_id\":\"mysourceproject\",\"overwrite_destination_table\":\"true\"}'
לדוגמה, הפקודה הבאה יוצרת הגדרה להעתקת קבוצת נתונים בשם
My Transfer, עם קבוצת נתונים לטירגוט בשםmydatasetופרויקט עם המזההmyproject.bq mk \ --transfer_config \ --project_id=myproject \ --data_source=cross_region_copy \ --target_dataset=mydataset \ --display_name='My Transfer' \ --params='{ "source_dataset_id":"123_demo_eu", "source_project_id":"mysourceproject", "overwrite_destination_table":"true" }'
API
מפעילים את שירות העברת הנתונים ל-BigQuery במערך הנתונים של היעד.
מוודאים שיש לכם את התפקידים הנדרשים.
כדי ליצור מערך נתונים ב-BigQuery, מפעילים את ה-method
datasets.insertעם משאב מוגדר של מערך נתונים.כדי להעתיק מערך נתונים, משתמשים ב-method
projects.locations.transferConfigs.createומספקים מופע של המשאבTransferConfig.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Python במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
מתקינים את לקוח Python עבור BigQuery Data Transfer API באמצעותpip install google-cloud-bigquery-datatransfer. אחר כך יוצרים הגדרת העברה כדי להעתיק את מערך הנתונים.
כדי להימנע מעלויות אחסון נוספות, כדאי למחוק את מערך הנתונים הקודם.
הצגת משימות העתקה של מערכי נתונים
כדי לראות את הסטטוס ואת הפרטים של עבודת העתקה של קבוצת נתונים במסוףGoogle Cloud :
נכנסים לדף Data transfers במסוף Google Cloud .
בוחרים העברה שרוצים לראות את הפרטים שלה, ואז מבצעים את הפעולות הבאות:
בדף Transfer details, בוחרים הפעלת העברה.
כדי לרענן, לוחצים על רענון.
יצירה מחדש של מערכי נתונים במיקום אחר
כדי להעביר קבוצת נתונים באופן ידני ממיקום אחד לאחר:
-
מייצאים את הנתונים מהטבלאות ב-BigQuery לקטגוריה של Cloud Storage.
אין חיובים על ייצוא נתונים מ-BigQuery, אבל יש חיובים על אחסון הנתונים שיוצאו ב-Cloud Storage. הייצוא ל-BigQuery כפוף למגבלות על משימות חילוץ.
-
מעתיקים או מעבירים את הנתונים מקטגוריה של Cloud Storage לייצוא לקטגוריה חדשה שיצרתם במיקום היעד. לדוגמה, אם אתם מעבירים את הנתונים שלכם מאזור מרובה-אזורים של
USלאזור טוקיו שלasia-northeast1, תעבירו את הנתונים לדלי שיצרתם בטוקיו. מידע על העברת אובייקטים ב-Cloud Storage זמין במאמר העתקה, שינוי שם והעברה של אובייקטים במסמכי Cloud Storage.העברת נתונים בין אזורים כרוכה בחיובים על תעבורת נתונים יוצאת (egress) ברשת ב-Cloud Storage.
-
יוצרים מערך נתונים חדש ב-BigQuery במיקום החדש, ואז טוענים את הנתונים ממאגר Cloud Storage למערך הנתונים החדש.
לא תחויבו על טעינת הנתונים ל-BigQuery, אבל תחויבו על אחסון הנתונים ב-Cloud Storage עד שתמחקו את הנתונים או את הקטגוריה. אתם גם מחויבים על אחסון הנתונים ב-BigQuery אחרי שהם נטענים. טעינת נתונים לתוך BigQuery כפופה למגבלות של משימות טעינה.
אפשר גם להשתמש ב- Managed Service for Apache Airflow כדי להעביר ולהעתיק מערכי נתונים גדולים באופן פרוגרמטי.
למידע נוסף על שימוש ב-Cloud Storage לאחסון ולהעברה של מערכי נתונים גדולים, אפשר לעיין במאמר בנושא שימוש ב-Cloud Storage עם Big Data.
אבטחת מערכי נתונים
במאמר שליטה בגישה למערכי נתונים מוסבר איך שולטים בגישה למערכי נתונים ב-BigQuery. מידע על הצפנת נתונים זמין במאמר הצפנה במנוחה.
מחיקה של מערכי נתונים
כשמוחקים מערך נתונים באמצעות Google Cloud המסוף, הטבלאות והתצוגות במערך הנתונים, כולל הנתונים שלהן, נמחקים באופן אוטומטי. עם זאת, כשמשתמשים בשיטה אחרת, צריך קודם לרוקן את מערך הנתונים או לציין דגלים, פרמטרים או מילות מפתח מתאימים שמכריחים את הסרת התוכן של מערך הנתונים.
אם תנסו למחוק מערך נתונים לא ריק בלי הדגלים או הפרמטרים המתאימים, הפעולה תיכשל ותוצג השגיאה הבאה:
Dataset project:dataset is still in use.
אם תנסו למחוק מערך נתונים שלא קיים, הפעולה תיכשל עם השגיאה Not found, אלא אם תציינו אפשרות להתעלמות ממערכי נתונים חסרים, כמו IF EXISTS ב-GoogleSQL או הדגל -f (--force) בכלי bq של שורת הפקודה.
כשמוחקים קבוצת נתונים, נוצרת רשומה אחת ביומן הביקורת על מחיקת קבוצת הנתונים. לא נוצרות רשומות נפרדות ביומן לכל טבלה שנמחקה במערך הנתונים.
כדי למחוק קבוצת נתונים, בוחרים באחת מהאפשרויות הבאות:
המסוף
עוברים לדף BigQuery.
בחלונית השמאלית, לוחצים על Explorer:

בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Datasets ואז לוחצים על מערך הנתונים.
בחלונית הפרטים, לוחצים על מחיקה.
בתיבת הדו-שיח מחיקת מערך נתונים, מקלידים
deleteבשדה ולוחצים על מחיקה.
SQL
כדי למחוק מערך נתונים, משתמשים בהצהרת ה-DDL DROP SCHEMA.
בדוגמה הבאה נמחקת קבוצת נתונים בשם mydataset:
נכנסים לדף BigQuery במסוף Google Cloud .
בעורך השאילתות, מזינים את ההצהרה הבאה:
DROP SCHEMA IF EXISTS mydataset;
הסעיף
IF EXISTSמונע שגיאה אם מערך הנתונים לא קיים. בליIF EXISTS, ניסיון למחוק מערך נתונים שלא קיים מחזיר שגיאתNot found.כברירת מחדל, הפקודה
DROP SCHEMAמוחקת רק קבוצת נתונים ריקה. כדי למחוק מערך נתונים ואת כל התוכן שלו, משתמשים במילת המפתחCASCADE:DROP SCHEMA IF EXISTS mydataset CASCADE;
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
משתמשים בפקודה bq rm עם הדגל --dataset או -d (אופציונלי).
אם מערך הנתונים מכיל טבלאות, צריך להשתמש בדגל -r כדי להסיר את כל הטבלאות במערך הנתונים. אם משתמשים בדגל -r, אפשר להשמיט את הדגל --dataset או -d.
אחרי שמריצים את הפקודה, המערכת מבקשת אישור. אפשר להשתמש בדגל -f (או --force) כדי לדלג על האישור ולהתעלם משגיאות Not found אם מערך הנתונים לא קיים. בלי הדגל -f, ניסיון למחוק מערך נתונים שלא קיים ייכשל עם השגיאה Not found.
אם אתם מוחקים טבלה בפרויקט שאינו פרויקט ברירת המחדל שלכם, צריך להוסיף את מזהה הפרויקט לשם מערך הנתונים בפורמט הבא: PROJECT_ID:DATASET.
bq rm -r -f -d PROJECT_ID:DATASET
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
DATASET: השם של מערך הנתונים שרוצים למחוק
לדוגמה:
כדי להסיר מהפרויקט שמוגדר כברירת מחדל מערך נתונים בשם mydataset ואת כל הטבלאות שבו, מזינים את הפקודה הבאה. בפקודה נעשה שימוש בדגל -d.
bq rm -r -d mydataset
כשמופיעה בקשה, כותבים y ומקישים על Enter.
מזינים את הפקודה הבאה כדי להסיר את mydataset ואת כל הטבלאות שבו מ-myotherproject. הפקודה לא משתמשת בדגל האופציונלי -d.
הדגל -f משמש לדילוג על האישור.
bq rm -r -f myotherproject:mydataset
אפשר להשתמש בפקודה bq ls כדי לוודא שמערך הנתונים נמחק.
API
מפעילים את השיטה datasets.delete כדי למחוק את מערך הנתונים, ומגדירים את הפרמטר deleteContents לערך true כדי למחוק את הטבלאות שבו. אם מערך הנתונים שצוין לא קיים, ה-method מחזירה שגיאת 404 Not Found.
C#
דוגמת הקוד הבאה מוחקת קבוצת נתונים ריקה.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C# במדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery C# API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
מתקינים את Python client for the BigQuery Data Transfer API באמצעותpip install google-cloud-bigquery-datatransfer. לאחר מכן, יוצרים הגדרת העברה כדי להעתיק את מערך הנתונים.
דוגמת הקוד הבאה מוחקת קבוצת נתונים ואת כל התוכן שלה:
המשך
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Go API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
מתקינים את לקוח Python עבור BigQuery Data Transfer API באמצעותpip install google-cloud-bigquery-datatransfer. אחר כך יוצרים הגדרת העברה כדי להעתיק את מערך הנתונים.
Java
בדוגמת הקוד הבאה מוצג איך למחוק מערך נתונים ריק.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
מתקינים את לקוח Python ל-BigQuery Data Transfer API באמצעותpip install google-cloud-bigquery-datatransfer. לאחר מכן, יוצרים הגדרת העברה כדי להעתיק את מערך הנתונים.
דוגמת הקוד הבאה מוחקת קבוצת נתונים ואת כל התוכן שלה:
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Node.js API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
מתקינים את Python client for the BigQuery Data Transfer API באמצעותpip install google-cloud-bigquery-datatransfer. אחר כך יוצרים הגדרת העברה כדי להעתיק את מערך הנתונים.
PHP
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של PHP במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery PHP API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
מתקינים את Python client for the BigQuery Data Transfer API באמצעותpip install google-cloud-bigquery-datatransfer. אחר כך יוצרים הגדרת העברה כדי להעתיק את מערך הנתונים.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
מתקינים את Python client for the BigQuery Data Transfer API באמצעותpip install google-cloud-bigquery-datatransfer. אחר כך יוצרים הגדרת העברה כדי להעתיק את מערך הנתונים.
Ruby
בדוגמת הקוד הבאה מוצג איך למחוק מערך נתונים ריק.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Ruby במדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Ruby API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
מתקינים את Python client for the BigQuery Data Transfer API באמצעותpip install google-cloud-bigquery-datatransfer. לאחר מכן, יוצרים הגדרת העברה כדי להעתיק את מערך הנתונים.
דוגמת הקוד הבאה מוחקת קבוצת נתונים ואת כל התוכן שלה:
שחזור טבלאות ממערכי נתונים שנמחקו
אפשר לשחזר טבלאות מקבוצת נתונים שנמחקה, שנמצאות בחלון הזמן של קבוצת הנתונים. כדי לשחזר את כל מערך הנתונים, קראו את המאמר שחזור מערכי נתונים שנמחקו.
- יוצרים מערך נתונים עם אותו שם ובאותו מיקום כמו המערך המקורי.
- בוחרים חותמת זמן מלפני המחיקה של קבוצת הנתונים המקורי בפורמט של אלפיות השנייה מאז תקופה של זמן מערכת – לדוגמה,
1418864998000. מעתיקים את הטבלה
originaldataset.table1מהשעה1418864998000למערך הנתונים החדש:bq cp originaldataset.table1@1418864998000 mydataset.mytable
כדי למצוא את השמות של הטבלאות הלא ריקות שהיו במערך הנתונים שנמחק, שולחים שאילתה על התצוגה
INFORMATION_SCHEMA.TABLE_STORAGEשל מערך הנתונים בחלון הזמן של הנסיעה בזמן.
שחזור של קבוצות נתונים שנמחקו
במאמר שחזור של קבוצות נתונים שנמחקו מוסבר איך לשחזר (או לבטל מחיקה) של קבוצת נתונים שנמחקה.
מכסות
מידע על מכסות העתקה זמין במאמר משימות העתקה.
נתוני השימוש במשימות העתקה זמינים ב-INFORMATION_SCHEMA. במאמר תצוגת JOBS מוסבר איך לשלוח שאילתות לתצוגת INFORMATION_SCHEMA.JOBS.
תמחור
למידע על מחירים של העתקת מערכי נתונים, אפשר לעיין במאמר תמחור של רפליקציית נתונים.
BigQuery שולח נתונים דחוסים להעתקה בין אזורים, כך שהנתונים שעליהם תחויבו עשויים להיות קטנים מהגודל בפועל של מערך הנתונים. כאן תוכלו לקרוא מידע נוסף על התמחור ב-BigQuery.