ניהול מערכי נתונים
במאמר הזה מוסבר איך ליצור מחדש מערכי נתונים במיקום אחר, איך לאבטח מערכי נתונים, איך למחוק מערכי נתונים ואיך לשחזר טבלאות ממערכי נתונים שנמחקו ב-BigQuery. במאמר שחזור של קבוצות נתונים שנמחקו מוסבר איך לשחזר (או לבטל מחיקה) של קבוצת נתונים שנמחקה.
אדמינים ב-BigQuery יכולים לארגן את הגישה לטבלאות ולתצוגות שמשמשות אנליסטים, ולשלוט בה. מידע נוסף על קבוצות נתונים זמין במאמר מבוא לקבוצות נתונים.
אי אפשר לשנות את השם של מערך נתונים קיים או להעביר אותו למיקום אחר אחרי שיוצרים אותו. כדי לעקוף את הבעיה, אפשר להעתיק מערך נתונים ולשנות את השם של מערך הנתונים ביעד.
התפקידים הנדרשים
בקטע הזה מוסבר על התפקידים וההרשאות שנדרשים לניהול מערכי נתונים. אם מערך הנתונים של המקור או היעד נמצא באותו פרויקט שבו אתם משתמשים כדי להעתיק, לא תצטרכו הרשאות או תפקידים נוספים במערך הנתונים הזה.
מחיקת קבוצת נתונים
צריך להקצות את התפקידים האלה כדי למחוק קבוצת נתונים.
כדי לקבל את ההרשאות שנדרשות למחיקת מערכי נתונים, צריך לבקש מהאדמין להקצות לכם את התפקיד BigQuery Data Owner (roles/bigquery.dataOwner) ב-IAM בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות למחיקת מערכי נתונים. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי למחוק מערכי נתונים, צריך את ההרשאות הבאות:
-
bigquery.datasets.deleteבפרויקט -
bigquery.tables.deleteבפרויקט
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
יצירה מחדש של מערכי נתונים במיקום אחר
כדי להעביר קבוצת נתונים באופן ידני ממיקום אחד לאחר:
-
מייצאים את הנתונים מהטבלאות ב-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. מידע על הצפנת נתונים זמין במאמר הצפנה במנוחה.
מחיקה של מערכי נתונים
כשמוחקים מערך נתונים באמצעות Cloud de Confiance המסוף, הטבלאות והתצוגות במערך הנתונים, כולל הנתונים שלהן, נמחקים באופן אוטומטי. עם זאת, כשמשתמשים בשיטה אחרת, צריך קודם לרוקן את מערך הנתונים או לציין דגלים, פרמטרים או מילות מפתח מתאימים שמכריחים את הסרת התוכן של מערך הנתונים.
אם תנסו למחוק מערך נתונים לא ריק בלי הדגלים או הפרמטרים המתאימים, הפעולה תיכשל ותוצג השגיאה הבאה:
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 במסוף Cloud de Confiance .
בעורך השאילתות, מזינים את ההצהרה הבאה:
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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. לאחר מכן, יוצרים הגדרת העברה כדי להעתיק את מערך הנתונים.
דוגמת הקוד הבאה מוחקת קבוצת נתונים ואת כל התוכן שלה:
המשך
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Go API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. אחר כך יוצרים הגדרת העברה כדי להעתיק את מערך הנתונים.
Java
בדוגמת הקוד הבאה מוצג איך למחוק מערך נתונים ריק.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery Java API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. לאחר מכן, יוצרים הגדרת העברה כדי להעתיק את מערך הנתונים.
דוגמת הקוד הבאה מוחקת קבוצת נתונים ואת כל התוכן שלה:
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Node.js API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. אחר כך יוצרים הגדרת העברה כדי להעתיק את מערך הנתונים.
PHP
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של PHP במדריך למתחילים של BigQuery באמצעות ספריות לקוח. למידע נוסף, קראו את מאמרי העזרה של BigQuery PHP API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. אחר כך יוצרים הגדרת העברה כדי להעתיק את מערך הנתונים.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Python API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
pip install google-cloud-bigquery-datatransfer. אחר כך יוצרים הגדרת העברה כדי להעתיק את מערך הנתונים.
Ruby
בדוגמת הקוד הבאה מוצג איך למחוק מערך נתונים ריק.
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Ruby במדריך למתחילים של BigQuery באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של BigQuery Ruby API.
כדי לבצע אימות ב-BigQuery, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
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.