ניהול מערכי נתונים
במאמר הזה מוסבר איך ליצור מחדש מערכי נתונים במיקום אחר, לאבטח מערכי נתונים, למחוק מערכי נתונים ולשחזר טבלאות ממערכי נתונים שנמחקו ב-BigQuery. מידע על שחזור (או ביטול מחיקה) של קבוצת נתונים שנמחקה זמין במאמר שחזור של קבוצות נתונים שנמחקו.
אדמינים ב-BigQuery יכולים לארגן את הגישה לטבלאות ולתצוגות שמשמשות אנליסטים, ולשלוט בה. מידע נוסף על מערכי נתונים זמין במאמר מבוא למערכי נתונים.
אי אפשר לשנות את השם של מערך נתונים קיים או להעביר אותו אחרי שהוא נוצר.
התפקידים הנדרשים
בקטע הזה מוסבר על התפקידים וההרשאות שנדרשים לניהול מערכי נתונים. אם מערך הנתונים של המקור או היעד נמצא באותו פרויקט שבו אתם משתמשים כדי להעתיק, לא צריך הרשאות או תפקידים נוספים במערך הנתונים הזה.
מחיקה של מערך נתונים
צריך להקצות את התפקידים האלה כדי למחוק קבוצת נתונים.
כדי לקבל את ההרשאות שנדרשות למחיקת מערכי נתונים, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד הבעלים של נתוני BigQuery (roles/bigquery.dataOwner) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות למחיקת מערכי נתונים. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי למחוק מערכי נתונים, נדרשות ההרשאות הבאות:
-
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.
מחיקה של מערך נתונים יוצרת רשומה אחת של יומן ביקורת למחיקה של מערך הנתונים. הוא לא יוצר רשומות נפרדות ביומן לכל טבלה שנמחקה במערך הנתונים.
כדי למחוק קבוצת נתונים, בוחרים באחת מהאפשרויות הבאות:
המסוף
עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על כלי הניתוחים:

בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Datasets ואז לוחצים על מערך הנתונים.
בחלונית הפרטים, לוחצים על מחיקה.
בתיבת הדו-שיח מחיקת מערך נתונים, מקלידים
deleteבשדה ולוחצים על מחיקה.
SQL
כדי למחוק קבוצת נתונים, משתמשים בהצהרת DDL DROP SCHEMA.
בדוגמה הבאה נמחקת קבוצת נתונים בשם mydataset:
במסוף Cloud de Confiance , עוברים לדף BigQuery.
בעורך השאילתות, מזינים את ההצהרה הבאה:
DROP SCHEMA IF EXISTS mydataset;
כברירת מחדל, אפשר למחוק רק קבוצת נתונים ריקה. כדי למחוק קבוצת נתונים ואת כל התוכן שלה, משתמשים במילת המפתח
CASCADE:DROP SCHEMA IF EXISTS mydataset CASCADE;
לוחצים על הפעלה.
מידע נוסף על הרצת שאילתות זמין במאמר הרצת שאילתה אינטראקטיבית.
BQ
משתמשים בפקודה bq rm עם הדגל --dataset או -d (אופציונלי).
אם מערך הנתונים מכיל טבלאות, צריך להשתמש בדגל -r כדי להסיר את כל הטבלאות במערך הנתונים. אם משתמשים בדגל -r, אפשר להשמיט את הדגל --dataset או -d.
אחרי שמריצים את הפקודה, המערכת מבקשת אישור. אפשר להשתמש בדגל -f כדי לדלג על האישור.
אם אתם מוחקים טבלה בפרויקט שאינו פרויקט ברירת המחדל, צריך להוסיף את מזהה הפרויקט לשם מערך הנתונים בפורמט הבא: 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 כדי למחוק את הטבלאות שבו.
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. לאחר מכן, יוצרים הגדרת העברה כדי להעתיק את מערך הנתונים.
בדוגמת הקוד הבאה מוצגת מחיקה של מערך נתונים וכל התוכן שלו:
שחזור טבלאות ממערכי נתונים שנמחקו
אפשר לשחזר טבלאות מקבוצת נתונים שנמחקה, אם הן נמצאות בחלון הזמן של קבוצת הנתונים. כדי לשחזר את כל מערך הנתונים, אפשר לעיין במאמר בנושא שחזור של מערכי נתונים שנמחקו.
- יוצרים מערך נתונים עם אותו שם ובאותו מיקום כמו המערך המקורי.
- בוחרים חותמת זמן מלפני המחיקה של מערך הנתונים המקורי בפורמט של אלפיות השנייה מאז ראשית זמן יוניקס (Unix epoch) – לדוגמה,
1418864998000. מעתיקים את הטבלה
originaldataset.table1בשעה1418864998000למערך הנתונים החדש:bq cp originaldataset.table1@1418864998000 mydataset.mytable
כדי למצוא את השמות של הטבלאות הלא ריקות שהיו במערך הנתונים שנמחק, צריך לשלוח שאילתה לתצוגה
INFORMATION_SCHEMA.TABLE_STORAGEשל מערך הנתונים בתוך חלון הזמן של התכונה 'חזרה בזמן'.
שחזור של מערכי נתונים שנמחקו
כדי ללמוד איך לשחזר (או לבטל מחיקה) של קבוצת נתונים שנמחקה, אפשר לעיין במאמר שחזור של קבוצות נתונים שנמחקו.
מכסות
מידע על מכסות העתקה זמין במאמר בנושא העתקת משימות.
נתוני השימוש במשימות העתקה זמינים בINFORMATION_SCHEMA. במאמר תצוגת JOBS מוסבר איך לשלוח שאילתות לתצוגה INFORMATION_SCHEMA.JOBS.
תמחור
למידע על מחירים של העתקת מערכי נתונים, אפשר לעיין במאמר מחירים של רפליקציית נתונים.
BigQuery שולח נתונים דחוסים להעתקה בין אזורים, כך שגודל הנתונים שעליהם מתבסס החיוב עשוי להיות קטן יותר מהגודל בפועל של מערך הנתונים. כאן תוכלו לקרוא מידע נוסף על התמחור ב-BigQuery.