איתור נתונים ב-Cloud Storage וקיטלוג שלהם
במאמר הזה מוסבר איך להשתמש בתכונה "זיהוי אוטומטי" של Knowledge Catalog ב-BigQuery, שמאפשרת לסרוק נתונים בקטגוריות של Cloud Storage כדי לחלץ מטא-נתונים ולהוסיף אותם לקטלוג. במסגרת סריקת הגילוי, המערכת יוצרת באופן אוטומטי טבלאות BigLake או טבלאות חיצוניות לנתונים מובְנים, וטבלאות אובייקטים לנתונים לא מובְנים. טבלאות BigLake וטבלאות חיצוניות מאפשרות לשלוח שאילתות לנתונים מובְנים במאגרי נתונים חיצוניים (ראו מבוא לטבלאות BigLake ומבוא לטבלאות חיצוניות), וטבלאות אובייקטים מספקות אינדקס של מטא-נתונים על נתונים לא מובְנים ב-Cloud Storage (ראו מבוא לטבלאות אובייקטים). הטבלה המרוכזת הזו מקלה על קבלת תובנות מנתונים, אבטחת מידע ומשילות מידע שמבוססות על AI.
כדי להשתמש בגילוי אוטומטי של נתונים ב-Cloud Storage, צריך ליצור ולהריץ סריקת גילוי.
גילוי אוטומטי נקרא גם גילוי עצמאי.
סקירה כללית של סריקת הגילוי
סריקת גילוי מבצעת את הפעולות הבאות:
- סורק את הנתונים בקטגוריה של Cloud Storage או בנתיב.
- קיבוץ נתונים מובְנים ונתונים מובְנים למחצה בטבלאות.
- אוסף מטא-נתונים, כמו שם הטבלה, הסכימה והגדרת המחיצה.
- יצירה ועדכון של טבלאות חיצוניות של BigLake, חיצוניות שאינן של BigLake או אובייקטים של BigLake ב-BigQuery באמצעות הסכימה והגדרת המחיצה.
נתונים מובְנים ונתונים מובְנים למחצה
נתונים מובְנים ומובְנים למחצה כוללים פורמטים כמו Avro, Parquet ו-CSV. סריקת הגילוי רושמת קבוצות של הקבצים האלה כטבלאות חיצוניות של BigLake. הסריקה מזהה קבצים רק אם הם נמצאים בתיקיות שמכילות את אותו פורמט נתונים וסכימה תואמת.
- תרחיש לדוגמה: ריכוז קבצים מובְנים עם טיפוסים מוגדרים היטב ב-BigQuery כדי להריץ שאילתות SQL לניתוח נתונים בלי להגדיר סכימות באופן ידני.
- תהליך עבודה:
- ארגון הקבצים המובְנים בתיקיות. חשוב לוודא שהקבצים בכל תיקייה הם באותו פורמט נתונים ושיש להם סכימה תואמת.
- יוצרים סריקת גילוי ומספקים את מזהה החיבור למשאב של Google Cloud .
- הסריקה מקבצת את הנתונים ורושמת אותם כטבלאות חיצוניות של BigLake.
- להריץ שאילתות על הטבלאות שפורסמו ישירות ב-BigQuery באמצעות SQL.
פורמטים נתמכים
- Parquet
- Avro
- ORC
- JSON (רק פורמט מופרד בתו שורה חדשה)
- CSV (אבל לא קובצי CSV שיש בהם שורות של הערות)
פורמטים של דחיסה
בנתונים מובְנים ומובְנים למחצה, סריקת הגילוי תומכת בפורמטים הבאים של דחיסה:
דחיסה פנימית בפורמטים הבאים:
דחיסה דוגמה לסיומת קובץ פורמט נתמך gzip .gz.parquetParquet lz4 .lz4.parquetParquet קצרצר .snappy.parquetParquet, ORC, Avro lzo .lzo.parquetParquet, ORC דחיסה חיצונית של קובצי JSON ו-CSV:
- gzip
- bzip2
נתונים לא מובְנים
בנתונים לא מובְנים, כמו תמונות וסרטונים, סריקת הגילוי מזהה ורושמת קבוצות של קבצים עם אותו פורמט קובץ נתונים. הקבצים חייבים להיות בתיקיות שמכילות קבצים באותו פורמט קובץ. לדוגמה, כדי שסריקת הגילוי תזהה ותתעד שתי טבלאות אובייקטים של BigLake, gs://images/group1 חייבת להכיל רק תמונות GIF, ו-gs://images/group2 חייבת להכיל רק תמונות JPEG.
- תרחיש לדוגמה: קיטלוג קבצים לא מובְנים כמו תמונות או מסמכים כדי לבצע הסקת מסקנות של למידת מכונה באמצעות BigQuery ML או פונקציות מרוחקות.
- תהליך עבודה:
- לארגן את הקבצים הלא מובנים בתיקיות. חשוב לוודא שהקבצים בכל תיקייה הם באותו פורמט קובץ.
- יוצרים סריקת גילוי.
- הסריקה מקבצת את הנתונים הלא מובנים ורושמת אותם כטבלאות אובייקטים של BigLake.
- מבצעים הסקת מסקנות על הקבצים הלא מובְנים ישירות ב-BigQuery.
פורמטים נתמכים
סריקת הגילוי תומכת בפורמטים הלא מובְנים הבאים:
- תמונה (כמו JPEG, PNG ו-BMP)
- מסמכים (כמו קובצי PDF, מצגות ודוחות טקסט)
- אודיו או וידאו (כמו WAV, MP3 ו-MP4)
מידע נוסף זמין במאמר קובצי אובייקטים נתמכים.
פורמטים של דחיסה
בטבלאות אובייקטים, הדחיסה מנוהלת בעיקר באמצעות המטא-נתונים של האובייקטים ב-Cloud Storage, ולא באמצעות ההגדרות הפנימיות של BigQuery.
- דחיסת מטא-נתונים סטנדרטית: BigQuery מזהה באופן אוטומטי קבצים שנדחסו באמצעות gzip ו-bzip2 אם הם משתמשים בסיומות הסטנדרטיות .gz או .bz2.
- Content-Encoding: אתם יכולים להשתמש במטא-נתונים Content-Encoding gzip ב-Cloud Storage כדי להציג קבצים דחוסים תוך שמירה על סוג התוכן המקורי שלהם.
- דחיסה פנימית של מדיה: יש תמיכה מובנית בפורמטים שדחוסים באופן טבעי (כמו JPEG לתמונות, MP3 לאודיו, MP4 לווידאו).
רישום וזמינות של טבלאות
הטבלאות שזוהו נרשמות ב-BigQuery כאחד מסוגי הטבלאות הבאים, בהתאם לפורמט הנתונים ולהגדרות הסריקה:
- טבלאות אובייקטים של BigLake. נוצר לנתונים לא מובְנים, כמו תמונות וסרטונים.
- טבלאות חיצוניות של BigLake. נוצרת לנתונים מובְנים ומובְנים למחצה כשמציינים מזהה חיבור למשאב של Google Cloud במהלך הגדרת הסריקה.
- טבלאות חיצוניות (לא BigLake): נוצרות לנתונים מובְנים וחצי מובְנים אם לא מספקים מזהה חיבור למשאב.
הרישום הזה מאפשר לנתח את הנתונים שלהם ב-BigQuery. גם שמירת מטא-נתונים במטמון מופעלת בטבלאות BigLake ובטבלאות אובייקטים. כל הטבלאות של BigLake נטמעות באופן אוטומטי ב-Knowledge Catalog לצורך חיפוש וגילוי.
כדי להתחיל לעבוד עם הטבלאות החדשות שרשמתם, אתם יכולים:
- מריצים שאילתה ב-BigQuery.
- חיפוש משאבים ב-Knowledge Catalog.
מגבלות ומכסות
סריקת גילוי לא תומכת בפורמטים של טבלאות Apache Iceberg ו-Delta Lake.
כדי לראות את מגבלת הטבלאות שנתמכות בסריקת זיהוי, עיינו בקטע מכסות ומגבלות.
לפני שמתחילים
מפעילים את Dataplex API, אם הוא עדיין לא מופעל.
התפקידים שנדרשים כדי להפעיל ממשקי API
כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים
התפקידים הנדרשים לחשבון השירות של Knowledge Catalog
לפני שמתחילים, צריך להקצות את הרשאות ה-IAM לחשבון השירות של Knowledge Catalog בפרויקט.
service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com
מחליפים את PROJECT_NUMBER בפרויקט שבו מופעל Dataplex API.
כדי לוודא שלחשבון השירות של Knowledge Catalog יש את ההרשאות שנדרשות ליצירה ולהרצה של סריקת גילוי, צריך לבקש מהאדמין לתת לחשבון השירות של Knowledge Catalog את תפקידי ה-IAM הבאים:
- סוכן השירות של Dataplex Discovery (
roles/dataplex.discoveryServiceAgent) בקטגוריית האחסון - Dataplex Discovery Publishing Service Agent (
roles/dataplex.discoveryPublishingServiceAgent) בפרויקט של המשתמש -
יצירת טבלאות BigLake:
Dataplex Discovery BigLake Publishing Service Agent (
roles/dataplex.discoveryBigLakePublishingServiceAgent) בחיבור ל-BigQuery
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות כדי ליצור ולהריץ סריקת איתור. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור ולהריץ סריקת איתור, נדרשות ההרשאות הבאות:
-
bigquery.datasets.createבפרויקט של מקור הנתונים -
storage.buckets.getבקטגוריית מקור הנתונים -
storage.objects.getבקטגוריית מקור הנתונים -
storage.objects.listבקטגוריית מקור הנתונים -
bigquery.datasets.getבפרויקט של מקור הנתונים -
מציינים חיבור:
-
bigquery.connections.delegateבחיבור ל-BigQuery -
bigquery.connections.useבחיבור ל-BigQuery
-
יכול להיות שהאדמין יוכל גם לתת לחשבון השירות של Knowledge Catalog את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
התפקידים הנדרשים לחשבון השירות של החיבור ל-BigQuery
כדי לוודא שלחשבון של שירות הקישור ל-BigQuery יש את ההרשאות שנדרשות ליצירת סריקת גילוי, צריך לבקש מהאדמין לתת לחשבון של שירות הקישור ל-BigQuery את התפקיד סוכן שירות הגילוי של Dataplex (roles/dataplex.discoveryServiceAgent) באמצעות IAM בקטגוריה של Cloud Storage.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות ליצירת סריקת איתור. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור סריקה לאיתור, נדרשות ההרשאות הבאות:
-
bigquery.datasets.createבפרויקט של מקור הנתונים -
storage.buckets.getבקטגוריית מקור הנתונים -
storage.objects.getבקטגוריית מקור הנתונים -
storage.objects.listבקטגוריית מקור הנתונים -
bigquery.datasets.getבפרויקט של מקור הנתונים -
מציינים חיבור:
-
bigquery.connections.delegateבחיבור ל-BigQuery -
bigquery.connections.useבחיבור ל-BigQuery
-
יכול להיות שהאדמין יוכל גם להעניק לחשבון BigQuery Connection Service את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
התפקידים הנדרשים למשתמשי קצה
כדי לקבל את ההרשאות שדרושות ליצירה ולניהול של סריקות לגילוי נתונים, אתם צריכים לבקש מהאדמין לתת לכם את התפקידים הבאים ב-IAM בקטגוריה של Cloud Storage:
-
גישה מלאה למשאבי DataScan:
אדמין של Dataplex DataScan (
roles/dataplex.dataScanAdmin) – הפרויקט שלך -
גישת כתיבה למשאבי DataScan:
עריכת Dataplex DataScan (
roles/dataplex.dataScanEditor) – הפרויקט שלך -
גישת קריאה למשאבי DataScan, לא כולל התוצאות:
Dataplex DataScan Viewer (
roles/dataplex.dataScanViewer) – הפרויקט שלך -
גישת קריאה למשאבי DataScan, כולל התוצאות:
Dataplex DataScan DataViewer (
roles/dataplex.dataScanDataViewer) – הפרויקט שלך
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות כדי ליצור ולנהל סריקות לאיתור נתונים. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור ולנהל סריקות לאיתור נתונים, נדרשות ההרשאות הבאות:
-
יצירת DataScan:
dataplex.datascans.createבפרויקט -
מחיקת DataScan:
dataplex.datascans.deleteבפרויקט או במשאב DataScan -
הצגת פרטי DataScan בלי התוצאות:
dataplex.datascans.getבפרויקט שלכם, משאב DataScan -
הצגת פרטי DataScan, כולל תוצאות:
dataplex.datascans.getDataבפרויקט או במשאב DataScan -
הצגת רשימה של סריקות נתונים:
dataplex.datascans.listבפרויקט או במשאב של סריקת נתונים -
הפעלת DataScan:
dataplex.datascans.runבפרויקט או במשאב של DataScan -
עדכון התיאור של DataScan:
dataplex.datascans.updateבמקרן של משאב DataScan -
צפייה בהרשאות ה-IAM של DataScan:
dataplex.datascans.getIamPolicyבפרויקט או במשאב DataScan -
מגדירים את הרשאות ה-IAM ב-DataScan:
dataplex.datascans.setIamPolicyבפרויקט או במשאב DataScan
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
יצירת סריקה לאיתור נתונים
כדי לאתר נתונים, צריך ליצור ולהריץ סריקת איתור. אתם יכולים להגדיר לוח זמנים לסריקה או להפעיל אותה לפי דרישה.
כשסריקת הגילוי פועלת, היא יוצרת קבוצת נתונים חדשה ב-BigQuery שתואמת לקטגוריה של Cloud Storage שנסרקה. השם של מערך הנתונים ב-BigQuery זהה לשם של הקטגוריה ב-Cloud Storage. תווים לא חוקיים בשם הקטגוריה מוחלפים בקו תחתון. אם שם מערך הנתונים לא זמין, מתווספת סיומת (לדוגמה, _discovered_001). מערך הנתונים מכיל את הטבלאות החיצוניות של BigLake או הטבלאות החיצוניות שלא של BigLake, שנוצרו על ידי סריקת הגילוי לניתוח נוסף.
המסוף
נכנסים לדף Metadata curation במסוף Google Cloud .
בכרטיסייה Cloud Storage discovery, לוחצים על Create.
בחלונית Create discovery scan, מגדירים את פרטי הנתונים שרוצים לסרוק.
מזינים שם לסריקה.
בשדה Scan ID, מזינים מזהה ייחודי בהתאם למוסכמות למתן שמות למשאבים ב- Google Cloud. אם לא תציינו מזהה, סריקת הגילוי תיצור את מזהה הסריקה.
אופציונלי: מוסיפים תיאור של הסריקה.
כדי לציין את הקטגוריה של Cloud Storage שמכילה את הקבצים לסריקה, בשדה Bucket, מחפשים את הקטגוריה ובוחרים אותה.
אופציונלי: מגדירים את הנתונים שרוצים לכלול בסריקת הגילוי או להחריג ממנה, על ידי ציון רשימה של תבניות glob לסינון קבצים. ב-Knowledge Catalog אפשר להשתמש בתבניות glob הבאות:
-
*: התאמה לאפס תווים או יותר, בלי לחצות את גבולות הספרייה. לדוגמה,*.csvתואם ל-file.csv, אבל לא ל-folder/file.csv. -
**: התאמה לאפס תווים או יותר, מעבר לגבולות הספרייה. לדוגמה,**/*.csvתואם ל-file.csvול-folder/subfolder/file.csv. -
?: התאמה לתו אחד בדיוק. לדוגמה,file_?.csvתואם ל-file_1.csvול-file_a.csv, אבל לא ל-file_10.csv. -
[...]: התאמה לתו אחד מתוך קבוצת תווים. לדוגמה,[abc]תואם ל-a, ל-bאו ל-c, ו-[a-z]תואם לכל אות קטנה. -
{...}: התאמה לרשימה מופרדת בפסיקים של תבניות משנה. לדוגמה,{sun,moon,stars}תואם ל-sun, ל-moonאו ל-stars. -
\: תו בריחה (*,?או\). לדוגמה,file\*.csvתואם לשם הקובץ המילוליfile*.csv.
אפשר לציין את סוגי התבניות הבאים:
- הכללה: אם רוצים לסרוק רק קבוצת משנה של הנתונים, צריך לספק רשימה של תבניות glob שתואמות לאובייקטים שרוצים לכלול.
- Exclude: רשימה של תבניות glob שתואמות לאובייקטים שרוצים להחריג.
לדוגמה, אם רוצים להחריג את
gs://test_bucket/foo/..מסריקת הגילוי, מזינים את**/foo/**בתור הנתיב להחרגה. מירכאות גורמות לשגיאות. חשוב להזין**/foo/**במקום"**/foo/**".אם אתם מספקים גם תבניות הכללה וגם תבניות החרגה, תבניות ההחרגה מופעלות קודם.
-
בקטע Unstructured data options, בוחרים באפשרות Enable semantic inference.
האפשרות הזו נדרשת אם רוצים לראות תובנות מנתונים לא מובְנים ב-Knowledge Catalog. מידע נוסף זמין במאמר מידע על תובנות מנתונים לא מובְנים.
אופציונלי: בשדה Project, בוחרים את הפרויקט של מערך הנתונים ב-BigQuery שמכיל את הטבלאות החיצוניות של BigLake או את הטבלאות החיצוניות שלא שייכות ל-BigLake שנוצרו על ידי סריקת הגילוי. אם לא תציינו פרויקט, מערך הנתונים ייווצר בפרויקט שמכיל את הקטגוריה של Cloud Storage.
בקטע Location type, בוחרים באפשרות Region או Multi-region (מה שזמין) שבה נוצר מערך הנתונים לפרסום ב-BigQuery.
כדי ליצור טבלאות BigLake מהנתונים שנסרקו, בשדה Connection ID מזינים את מזהה החיבור של המשאב Google Cloud . מידע נוסף זמין במאמר חיבורי משאבים שלGoogle Cloud ב-BigQuery.
אתם יכולים ליצור מזהה חיבור חדש באותו מיקום של מערך הנתונים ב-BigQuery, שתואם למיקום של הקטגוריה ב-Cloud Storage.
אם לא תציינו מזהה חיבור למשאב, סריקת הגילוי תיצור טבלאות חיצוניות שהן לא BigLake. כדי להבין את ההבדלים בין סוגי הטבלאות החיצוניות האלה, ולמה שירות הגילוי עשוי לבחור באחד על פני השני, קראו את ההשוואה בין ההבדלים בהתנהגות.
בקטע Discovery frequency, מגדירים מתי רוצים להריץ את סריקת הגילוי:
חזרה: הסריקה פועלת לפי לוח זמנים מוגדר מראש. מציינים את שעת ההתחלה, הימים שבהם תתבצע הסריקה ואת התדירות, למשל מדי שעה.
לפי דרישה: הסריקה פועלת לפי דרישה.
אופציונלי: בקטע JSON or CSV specifications, מציינים איך הסריקה צריכה לעבד קובצי JSON ו-CSV. לוחצים על מפרטים של JSON או CSV.
- כדי להגדיר אפשרויות של JSON, בוחרים באפשרות הפעלת אפשרויות ניתוח של JSON.
- Disable type inference: אם סריקת הגילוי צריכה להסיק את סוגי הנתונים בזמן סריקת הנתונים. אם משביתים את הסקת הסוגים לנתוני JSON, כל העמודות נרשמות כסוגים הפרימיטיביים שלהן, כמו מחרוזת, מספר או ערך בוליאני.
- פורמט קידוד: קידוד התווים של הנתונים, כמו UTF-8, US-ASCII או ISO-8859-1. אם לא תציינו ערך, המערכת תשתמש ב-UTF-8 כברירת מחדל.
- כדי להגדיר אפשרויות של קובצי CSV, בוחרים באפשרות הפעלת אפשרויות ניתוח של קובצי CSV.
- Disable type inference: אם סריקת הגילוי צריכה להסיק את סוגי הנתונים בזמן סריקת הנתונים. אם משביתים את הסקת הסוגים של נתוני CSV, כל העמודות נרשמות כמחרוזות.
- שורות כותרת: מספר שורות הכותרת,
0או1. אם מציינים את הערך0, סריקת הגילוי מסיקה את הכותרות ומחלצת את שמות העמודות מהקובץ. ערך ברירת המחדל הוא0. - תו מפריד עמודות: התו שמשמש להפרדת ערכים. צריך לציין תו בודד,
\r(חזרה לתחילת השורה) או\n(שורה חדשה). ברירת המחדל היא פסיק (,). - פורמט הקידוד: קידוד התווים של הנתונים, כמו
UTF-8,US-ASCIIאוISO-8859-1. אם לא תציינו ערך, המערכת תשתמש ב-UTF-8 כברירת מחדל.
- כדי להגדיר אפשרויות של JSON, בוחרים באפשרות הפעלת אפשרויות ניתוח של JSON.
לוחצים על Create (לסריקה מתוזמנת), על Run now (לסריקה על פי דרישה) או על Create and run (לסריקה חד-פעמית).
- סריקה מתוזמנת: פועלת לפי לוח הזמנים שהגדרתם.
- סריקה על פי דרישה: מופעלת פעם אחת בהתחלה כשיוצרים אותה, ואפשר להפעיל את הסריקה בכל שלב. יכול להיות שייקח כמה דקות עד שהסריקה תסתיים.
- סריקה חד-פעמית: מתבצעת באופן אוטומטי. הוא נמחק באופן אוטומטי כשהוא מגיע לסף אורך החיים (TTL) שהוגדר לו, ערך שקובע את משך הזמן שבו סריקת הגילוי נשארת פעילה אחרי ההפעלה. ערך ה-TTL יכול להיות בין 0 שניות (מחיקה מיידית) ל-365 ימים. סריקת גילוי בלי TTL מוגדר נמחקת אוטומטית אחרי 24 שעות.
gcloud
כדי ליצור סריקת גילוי, משתמשים בפקודה gcloud dataplex datascans create data-discovery.
gcloud dataplex datascans create data-discovery --location=LOCATION --data-source-resource=BUCKET_PATH
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION: המיקום שבו רוצים ליצור את סריקת הגילוי -
BUCKET_PATH: הנתיב ב-Cloud Storage של הקטגוריה שרוצים לסרוק
REST
כדי ליצור סריקת איתור, משתמשים ב-dataScans.create method.
הרצת שאילתות על טבלאות BigLake שפורסמו
אחרי שמריצים את סריקת הגילוי, טבלאות BigLake מתפרסמות במערך נתונים חדש ב-BigQuery. אחרי שהטבלאות נוצרות, אפשר לנתח אותן ב-BigQuery באמצעות SQL, או ב-Managed Service for Apache Spark באמצעות Apache Spark או HiveQL.
SQL
אתם יכולים להציג טבלאות או להריץ שאילתות ב-BigQuery. במאמר הרצת שאילתה מוסבר איך מריצים שאילתות ב-BigQuery.
Apache Spark
כדי לשלוח שאילתות לטבלאות BigLake באמצעות Spark SQL במשימה ללא שרת (serverless) ב-Managed Service for Apache Spark:
יוצרים סקריפט PySpark שדומה לסקריפט לדוגמה הבא:
from pyspark.sql import SparkSession session = ( SparkSession.builder.appName("testing") .config("viewsEnabled","true") .config("materializationDataset", "DATASET_ID") .config("spark.hive.metastore.bigquery.project.id", "PROJECT_ID") .config("spark.hive.metastore.client.factory.class", "com.google.cloud.bigquery.metastore.client.BigQueryMetastoreClientFactory") .enableHiveSupport() .getOrCreate() ) session.sql("show databases").show() session.sql("use TABLE_NAME").show() session.sql("show tables").show() sql = "SELECT * FROM DATASET_ID.TABLE_ID LIMIT 10" df = session.read.format("bigquery").option("dataset", "DATASET_ID").load(sql) df.show()
מחליפים את מה שכתוב בשדות הבאים:
-
DATASET_ID: מזהה של מערך נתונים שלמשתמשים יש הרשאת יצירה שלו -
PROJECT_ID: מזהה הפרויקט עם טבלת BigLake -
TABLE_NAME: שם הטבלה ב-BigLake -
TABLE_ID: המזהה של טבלת BigLake
-
ניהול טבלאות BigLake שפורסמו
טבלאות BigLake שפורסמו נוצרות ומנוהלות ב-BigQuery על ידי סריקת הגילוי. כברירת מחדל, סריקת הגילוי מטפלת בגילוי נתונים חדשים, בהסקת סכימות ובהתפתחות סכימות בכל פעם שמופעלות סריקות מתוזמנות או סריקות על פי דרישה. כדי לציין שהמטא-נתונים מנוהלים על ידי הסריקה, הסריקה מפרסמת טבלאות שבהן התווית metadata-managed-mode מוגדרת ל-discovery-managed.
אם אתם רוצים לנהל בעצמכם את הסכימה ומטא-נתונים אחרים כמו אפשרויות CSV או JSON, הגדירו את התווית metadata-managed-mode ל-user_managed. כך הסכימה לא תשתנה בהרצת סריקת הגילוי הבאה. הגישה הזו יכולה להיות שימושית בתרחישים שבהם הסכימה שנוצרה על ידי סריקת הגילוי שגויה או שונה מהצפוי בטבלה נתונה. כשהתווית metadata-managed-mode מוגדרת לערך user_managed, היא יכולה להפחית את העלות.
כדי לעדכן את התווית, אפשר לערוך את הערך של מפתח התווית
metadata-managed-mode ל-user_managed במקום discovery-managed. במקרה כזה, סריקת הגילוי לא מעדכנת את הסכימה של הטבלה כל עוד התווית user_managed מצורפת לטבלה.
עדכון טבלאות BigLake שפורסמו
בטבלאות BigLake שפורסמו באמצעות משימות סריקה לזיהוי עם הגדרת ברירת המחדל, הסכימה ומטא-נתונים אחרים מתעדכנים באופן אוטומטי בכל משימת סריקה לזיהוי שמופעלת בתדירות המתוזמנת.
כדי לעדכן טבלת BigLake שפורסמה:
נכנסים לדף BigQuery במסוף Google Cloud .
בחלונית השמאלית, לוחצים על Explorer:

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Datasets ובוחרים קבוצת נתונים.
לוחצים על סקירה כללית > טבלאות, ובוחרים את הטבלה.
בכרטיסייה Details, בקטע Labels, מוודאים שהתווית metadata-managed-mode מוגדרת ל-user_managed. אם מוגדר ערך אחר, פועלים לפי השלבים הבאים:
לוחצים על עריכת הפרטים.
בשדה value של המפתח metadata-managed-mode, מזינים את הערך
user_managed.
מחיקת טבלאות BigLake שפורסמו
כדי למחוק טבלת BigLake שפורסמה:
נכנסים לדף BigQuery במסוף Google Cloud .
בחלונית השמאלית, לוחצים על Explorer:

בחלונית Explorer, מרחיבים את הפרויקט, לוחצים על Datasets ובוחרים קבוצת נתונים.
לוחצים על סקירה כללית > טבלאות, ובוחרים את הטבלה.
בחלונית Details, בקטע Labels, מוודאים שהתווית metadata-managed-mode לא מוגדרת לערך
user_managed. אם הוא מוגדר כ-user_managed, פועלים לפי השלבים הבאים:לוחצים על עריכת הפרטים .
בשדה value, לצד המפתח metadata-managed-mode, מזינים את הערך
discovery-managed.
לוחצים על Run. סריקת הגילוי פועלת על פי דרישה.
אחרי שסריקת הגילוי פועלת, הטבלה של BigLake נמחקת ב-BigQuery ואי אפשר להציג אותה או לשלוח אליה שאילתות דרך Spark.
הפעלת סריקה לאיתור לפי דרישה
כדי להריץ סריקה לאיתור לפי דרישה, בוחרים באחת מהאפשרויות הבאות.
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בתפריט הניווט, לוחצים על Governance > Metadata curation.
בחלונית Cloud Storage discovery, לוחצים על סריקת הגילוי שרוצים להריץ.
לוחצים על הפעלה מיידית.
gcloud
כדי להריץ סריקת איתור, מריצים את הפקודה gcloud dataplex datascans run:
gcloud dataplex datascans runDATASCAN\ --location=LOCATION
מחליפים את המשתנים הבאים:
-
LOCATION: האזור ב- Google Cloud שבו נוצרה סריקת הגילוי. -
DATASCAN: השם של סריקת הגילוי.
REST
כדי להריץ סריקת גילוי לפי דרישה, משתמשים ב-method dataScans.run ב-Dataplex API.
הצגת רשימה של סריקות גילוי
כדי להציג את סריקות הגילוי, בוחרים באחת מהאפשרויות הבאות.
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בתפריט הניווט, לוחצים על Governance > Metadata curation.
בחלונית Cloud Storage discovery מופיעה רשימה של סריקות הגילוי שנוצרו בפרויקט.
gcloud
gcloud dataplex datascans list --location=LOCATION --project=PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION: המיקום של הפרויקט -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud
REST
כדי לאחזר את רשימת סריקות הגילוי בפרויקט, משתמשים בשיטה dataScans.list ב-Dataplex API.
צפייה בסריקת גילוי
כדי לראות סריקה לאיתור, בוחרים באחת מהאפשרויות הבאות.
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בתפריט הניווט, לוחצים על Governance > Metadata curation.
בחלונית Cloud Storage discovery, לוחצים על סריקת הגילוי שרוצים לראות את הפרטים שלה.
- בקטע פרטי הסריקה מוצגים פרטים על סריקת החיפוש.
- בקטע Scan status מוצגות תוצאות הגילוי של משימת הסריקה האחרונה.
gcloud
gcloud dataplex datascans jobs describe JOB \
--location=LOCATION \
--datascan=DATASCAN \
--view=FULLמחליפים את מה שכתוב בשדות הבאים:
-
JOB: מזהה המשימה של סריקת הגילוי. -
LOCATION: האזור ב- Google Cloud שבו נוצרה סריקת הגילוי. -
DATASCAN: השם של סריקת הגילוי שאליה שייכת המשימה.
REST
כדי לראות את התוצאות של סריקה לזיהוי נתונים, משתמשים ב-method dataScans.get ב-Dataplex API.
צפייה בתוצאות של סריקות גילוי קודמות
כדי לראות תוצאות של סריקות היסטוריות, בוחרים באחת מהאפשרויות הבאות.
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בתפריט הניווט, לוחצים על Governance > Metadata curation.
בחלונית Cloud Storage discovery, לוחצים על סריקת הגילוי שרוצים לראות את הפרטים שלה.
לוחצים על החלונית היסטוריית סריקות. בחלונית Scan history מוצג מידע על משימות קודמות, כולל מספר הרשומות שנסרקו בכל משימה, הסטטוס של כל משימה והזמן שבו המשימות הופעלו.
כדי לראות מידע מפורט על משימה, לוחצים על המשימה בעמודה Job ID.
gcloud
gcloud dataplex datascans jobs list \
--location=LOCATION \
--datascan=DATASCANמחליפים את מה שכתוב בשדות הבאים:
-
LOCATION: האזור ב- Google Cloud שבו נוצרה סריקת הגילוי. -
DATASCAN: השם של סריקת הגילוי שאליה שייכת המשימה.
REST
כדי לראות את כל המשימות של סריקת גילוי, משתמשים ב-method dataScans.jobs.list ב-Dataplex API.
עדכון סריקת גילוי
כדי לשנות את התזמון של סריקת הגילוי, למשל כדי לשנות את התזמון מסריקה על פי דרישה לסריקה חוזרת, צריך לעדכן את סריקת הגילוי.
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בתפריט הניווט, לוחצים על Governance > Metadata curation.
בחלונית Cloud Storage discovery, לוחצים על Actions > Edit בסריקת הגילוי שרוצים לעדכן.
עורכים את הערכים.
לוחצים על Save.
gcloud
כדי לעדכן סריקת גילוי, משתמשים בפקודה gcloud dataplex datascans update data-discovery.
gcloud dataplex datascans update data-discovery SCAN_ID --location=LOCATION --description=DESCRIPTION
מחליפים את מה שכתוב בשדות הבאים:
-
SCAN_ID: המזהה של סריקת הגילוי שרוצים לעדכן -
LOCATION: האזור ב- Google Cloud שבו נוצרה סריקת הגילוי -
DESCRIPTION: התיאור החדש של סריקת הגילוי
REST
כדי לעדכן סריקת גילוי, משתמשים ב-method dataScans.patch ב-Dataplex API.
מחיקת סריקת איתור
כדי למחוק סריקה לאיתור, בוחרים באחת מהאפשרויות הבאות.
המסוף
נכנסים לדף BigQuery במסוף Google Cloud .
בתפריט הניווט, לוחצים על Governance > Metadata curation.
בחלונית Cloud Storage discovery, לוחצים על Actions > Delete ליד סריקת הגילוי שרוצים למחוק.
לוחצים על Delete.
gcloud
gcloud dataplex datascans delete SCAN_ID --location=LOCATION --async
מחליפים את מה שכתוב בשדות הבאים:
-
SCAN_ID: המזהה של סריקת הגילוי שרוצים למחוק. -
LOCATION: האזור ב- Google Cloud שבו נוצרה סריקת הגילוי.
REST
כדי למחוק סריקת גילוי, משתמשים ב-method dataScans.delete ב-Dataplex API.