יצירת תובנות לגבי מערך נתונים
במאמר הזה מוסבר איך ליצור תובנות לגבי מערכי נתונים ב-BigQuery ומרחבי שמות של Apache Iceberg (שמיוצגים כמערכי נתונים ב-BigQuery). תובנות לגבי מערך נתונים עוזרות להבין את הקשרים בין טבלאות במערך נתונים או במרחב שמות על ידי יצירת תרשימי קשרים ושאילתות בין טבלאות.
תובנות לגבי מערכי נתונים עוזרות לכם להאיץ את תהליך הבדיקה של מערכי נתונים ומרחבי שמות עם כמה טבלאות. לשם כך, המערכת מזהה ומציגה באופן אוטומטי את הקשרים בין הטבלאות בתרשים, מזהה קשרים של מפתח ראשי ומפתח זר ומפיקה שאילתות לדוגמה בין טבלאות. התכונה הזו שימושית להבנת מבנה הנתונים בלי להסתמך על תיעוד, לגילוי קשרים בין טבלאות שמוגדרים בסכימה, מבוססים על שימוש או מוסקים על ידי AI, וליצירת שאילתות מורכבות שמבצעות איחוד של כמה טבלאות.
סקירה כללית על תובנות לגבי טבלאות ומערכי נתונים
מצבים ליצירת תובנות לגבי מערך נתונים
כשמפיקים תובנות ממערך נתונים, יש ב-BigQuery שני מצבים:
| מצב | תיאור | Usage |
|---|---|---|
| יצירה ופרסום |
התובנות שנוצרות לגבי מערך הנתונים נשמרות ב-Knowledge Catalog כהיבטים של מטא-נתונים וכיחסים. צריכות להיות לכם ההרשאות הנדרשות לפרסום. כשמשתמשים באפשרות יצירה ופרסום, BigQuery מבצע את הפעולות הבאות:
|
משתמשים במצב הזה לתיעוד נתונים בכל הארגון שנשמר וניתן לשימוש חוזר, או כשיוצרים תהליכי עבודה של ניהול שמבוססים על קטלוג. |
| יצירה ללא פרסום |
יצירת תובנות לגבי מערך נתונים, כמו תיאורים, שאלות בשפה טבעית, קשרים ושאילתות SQL על פי דרישה. האפשרות יצירה ללא פרסום לא מפרסמת תובנות ב-Knowledge Catalog. |
השתמשו במצב הזה כדי לבצע בדיקה מהירה ואד-הוק, וכך להימנע מעומס בקטלוג. |
לפני שמתחילים
התובנות מנתונים נוצרות באמצעות Gemini ב-BigQuery. כדי להתחיל ליצור תובנות, קודם צריך להגדיר את Gemini ב-BigQuery.
הפעלת ממשקי ה-API
כדי להשתמש בתובנות לגבי נתונים, צריך להפעיל את ממשקי ה-API הבאים בפרויקט: Dataplex API, BigQuery API ו-Gemini for Google Cloud API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים
מידע נוסף על הפעלת Gemini for Google Cloud API זמין במאמר בנושא הפעלת Gemini for Google Cloud API ב Google Cloud פרויקט.
השלמת סריקת פרופיל נתונים
כדי לשפר את איכות התובנות, כדאי ליצור סריקה של פרופיל הנתונים לטבלאות במערך הנתונים.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירה, לניהול ולאחזור של תובנות לגבי מערכי נתונים, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
-
כדי ליצור, לנהל ולאחזר תובנות:
- Dataplex DataScan Editor (
roles/dataplex.dataScanEditor) או Dataplex DataScan Administrator (roles/dataplex.dataScanAdmin) בפרויקט - BigQuery Data Editor (
roles/bigquery.dataEditor) on tables - BigQuery User (
roles/bigquery.user) או BigQuery Studio User (roles/bigquery.studioUser) בפרויקט - BigQuery Resource Viewer (
roles/bigquery.resourceViewer) on project
- Dataplex DataScan Editor (
-
כדי לראות את התובנות:
- Dataplex DataScan DataViewer (
roles/dataplex.dataScanDataViewer) בפרויקט - BigQuery Data Viewer (
roles/bigquery.dataViewer) במערך הנתונים
- Dataplex DataScan DataViewer (
-
כדי לפרסם תובנות ב-Knowledge Catalog:
בעלים של Dataplex Entry ו-EntryLink (
roles/dataplex.entryOwner) בקבוצת הרשומות
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
כדי לראות בדיוק אילו הרשאות נדרשות ליצירת תובנות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
-
bigquery.datasets.get: קריאת מטא-נתונים של מערך נתונים -
bigquery.jobs.create: יצירת משרות -
bigquery.jobs.listAll: רשימת כל המשימות בפרויקט -
bigquery.tables.get: אחזור מטא-נתונים של טבלה -
bigquery.tables.getData: אחזור נתונים ומטא-נתונים של טבלה -
dataplex.datascans.create: יצירת משאב של סריקת נתונים -
dataplex.datascans.get: קריאת מטא-נתונים של משאב סריקת נתונים -
dataplex.datascans.getData: קריאת תוצאות של הפעלת סריקת נתונים dataplex.datascans.run: הפעלת סריקת נתונים לפי דרישה-
dataplex.entryGroups.useSchemaJoinEntryLink: שימוש בקישורים לרשומותschema-join -
dataplex.entryGroups.useSchemaJoinAspect: שימוש בהיבטים של צירוף סכימה -
dataplex.entryLinks.create: יצירת קישורים לכניסה dataplex.entryLinks.update: עדכון קישורים לרשומות-
dataplex.entryLinks.delete: מחיקת קישורים לרשומות dataplex.entries.link: קישור רשומות-
dataplex.entries.update: עדכון רשומות -
dataplex.entryGroups.useDescriptionsAspect: שימוש בהיבטים של תיאור dataplex.entryGroups.useQueriesAspect: שימוש בהיבטים של שאילתות
יצירת תובנות לגבי מערך נתונים
המסוף
במסוף Google Cloud , עוברים אל BigQuery Studio.
בחלונית Explorer, בוחרים את הפרויקט ואת מערך הנתונים שרוצים ליצור עבורם תובנות. למרחבי שמות של Iceberg, בוחרים את קבוצת הנתונים שמייצגת את מרחב השמות של הקטלוג.
לוחצים על הכרטיסייה תובנות.
כדי ליצור תובנות ולפרסם אותן ב-Knowledge Catalog, לוחצים על יצירה ופרסום.
כדי ליצור תובנות בלי לפרסם אותן ב-Knowledge Catalog, לוחצים על יצירה ללא פרסום.
מידע נוסף על ההבדלים בין המצבים יצירה ופרסום ויצירה ללא פרסום זמין במאמר מצבים ליצירת תובנות לגבי מערך נתונים.
אם מערך הנתונים נמצא במספר אזורים, יכול להיות שתתבקשו לבחור אזור כדי ליצור תובנות. בוחרים אזור שמתאים לאזור הרב-אזורי שבו ייווצר סריקת התובנות.
יחלפו כמה דקות עד שהתובנות יופיעו. כדי לשפר את איכות התובנות, כדאי לוודא שלטבלאות במערך הנתונים יש תוצאות של פרופיל נתונים.
אחרי שהתובנות נוצרות, ב-BigQuery מוצגים תיאור של מערך הנתונים, תרשים של הקשרים, טבלה של הקשרים ודוגמאות לשאילתות בין טבלאות.
REST
כדי ליצור תובנות באופן פרוגרמטי, משתמשים ב-DataScans API של Knowledge Catalog. כדי לעשות זאת, פועלים לפי השלבים הבאים:
- יצירת סריקה של נתונים לצורך תיעוד נתונים עבור מערך הנתונים ב-BigQuery
- בדיקת הסטטוס של סריקת תיעוד הנתונים
- אימות הפרסום ב-Knowledge Catalog
יצירת סריקה של נתונים לתיעוד נתונים במערך הנתונים של BigQuery
יוצרים סריקה של נתוני תיעוד נתונים באמצעות השיטה
dataScans.create. אופציונלי: אפשר לפרסם את התובנות האלה ב-Knowledge Catalog על ידי הגדרת הפרמטרcatalog_publishing_enabledלערךtrue.לדוגמה:
alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"' gcurl -X POST \ https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/\ dataScans?dataScanId=DATASCAN_ID \ -d '{ "data": { "resource": "//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID" }, "executionSpec": { "trigger": { "onDemand": {} } }, "type": "DATA_DOCUMENTATION", "dataDocumentationSpec": { "catalog_publishing_enabled": true } }'מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט Google Cloudשבו נמצא מערך הנתונים
- LOCATION: האזור שבו מתבצעת סריקת הנתונים
- DATASCAN_ID: שם ייחודי שאתם מספקים לסריקה הזו
- DATASET_ID: המזהה של מערך הנתונים ב-BigQuery שנסרק
מתחילים את משימת הסריקה של תיעוד הנתונים באמצעות השיטה
dataScans.run.לדוגמה:
gcurl -X POST \ https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/\ dataScans/DATASCAN_ID:runהבקשה הזו מחזירה מזהה עבודה ייחודי יחד עם המצב הראשוני.
בדיקת סטטוס הסריקה של תיעוד הנתונים
בודקים שהרצת עבודת הסריקה הסתיימה באמצעות השיטה dataScans.get.
כדי לאחזר את התוצאות המלאות, כולל התובנות וסטטוס הפרסום, צריך להגדיר את הפרמטר view לערך FULL.
משתמשים במזהה המשימה כדי לאחזר את הסטטוס שלה. לדוגמה:
gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATASCAN_ID/jobs/JOB_ID?view=FULL
הפעולה מסתיימת כשהסטטוס הוא SUCCEEDED או FAILURE.
תשובה של משימה שהסתיימה בהצלחה מכילה את התובנות שנוצרו על ידי AI בשדה dataDocumentationResult.
אימות הפרסום ב-Knowledge Catalog
אם הערך של catalog_publishing_enabled הוא true, התובנות מתפרסמות ב-Knowledge Catalog באופן אסינכרוני אחרי שסריקת הנתונים מסתיימת. כדי לוודא שהתובנות נשמרו, משתמשים ב-Dataplex API כדי לבדוק את ההיבטים של מערך הנתונים.
התובנות נוצרות מסריקת הנתונים ברמת מערך הנתונים, אבל הקישורים שנוצרים נשמרים בין הטבלאות שהם מקשרים ביניהן. כדי לאמת את הקשרים האלה, משתמשים ב-lookupEntryLinks method כדי לאחזר את קישורי הרשומה שמשויכים לרשומה ספציפית בטבלה.
כדי לאחזר מטא-נתונים של מערך הנתונים ב-BigQuery, משתמשים בשיטה entries.get.
כדי לכלול את כל ההיבטים, מגדירים את הפרמטר view לערך FULL. לדוגמה:
gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entryGroups/@bigquery/entries/bigquery.googleapis.com/projects/DATASET_PROJECT_ID/datasets/DATASET_ID?view=FULL
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט Google Cloudשבו הוגדר סריקת הנתונים
- LOCATION: האזור שבו נמצאת קבוצת הרשומות
- DATASET_PROJECT_ID: המזהה של פרויקט Google Cloudשבו נמצא מערך הנתונים ב-BigQuery
- DATASET: המזהה של מערך הנתונים ב-BigQuery
אם הפרסום ב-Knowledge Catalog מצליח, ההיבטים הבאים מצורפים למערך הנתונים ב-BigQuery:
- תיאורים: מכיל תיאורים של מערך הנתונים שנוצרו על ידי AI
- Queries: מכיל שאילתות SQL רלוונטיות שקשורות למערך הנתונים
- קשרים: נשמרים כקישורי כניסה בין הטבלאות שקיימות במערך הנתונים
צפייה בתיאור של מערך הנתונים ושמירתו
Gemini יוצר תיאור בשפה טבעית של מערך הנתונים, מסכם את סוגי הטבלאות שהוא מכיל ואת התחום העסקי שהוא מייצג. כדי לשמור את התיאור הזה במטא-נתונים של מערך הנתונים, לוחצים על שמירה בפרטים.
אפשר לערוך את התיאור לפני ששומרים את הפרטים.
עיון בגרף הקשרים
הגרף Relationships מספק ייצוג חזותי של הקשר בין הטבלאות במערך הנתונים. הוא מציג את 10 הטבלאות הכי מקושרות כצמתים, עם קווים שמייצגים את הקשרים ביניהן.
- כדי לראות פרטים על הקשר, כמו העמודות שמקשרות בין שתי טבלאות, מציבים את הסמן מעל הקצה שמקשר בין צמתי הטבלה.
- כדי לשנות את סידור התרשים לראות טוב יותר, גוררים את הצמתים של הטבלה.
שימוש בטבלת הקשרים
בטבלת קשרי הגומלין מפורטים קשרי הגומלין שזוהו בפורמט טבלאי. כל שורה מייצגת קשר בין שתי טבלאות, ומציגה את טבלת המקור והעמודה, ואת טבלת היעד והעמודה. בעמודה מקור מצוין איך נקבע קשר הגומלין:
- הוסק על ידי LLM. קשרים ש-Gemini הסיק על סמך שמות ותיאורים של טבלאות ועמודות במערך הנתונים.
- מבוסס על שימוש. קשרים שחולצו מיומני שאילתות, על סמך הצטרפויות תכופות.
- מוגדר על ידי סכימה. קשרים שנגזרים ממיפויים קיימים של מפתח ראשי ומפתח זר בסכימת הטבלה.
אפשר לסנן את הקשרים של טבלה ספציפית או לשלוח משוב על איכות הקשרים שזוהו. כדי לייצא את תיאור מערך הנתונים והקשרים שנוצרו לקובץ JSON, לוחצים על ייצוא ל-JSON.
שימוש בהמלצות לשאילתות
על סמך הקשרים שנמצאו, Gemini יוצר שאילתות לדוגמה. אלה שאלות בשפה טבעית עם שאילתות SQL תואמות שמבצעות איחוד של כמה טבלאות במערך הנתונים.
כדי לראות שאילתת SQL, לוחצים על שאלה.
כדי לפתוח את השאילתה בעורך השאילתות של BigQuery, לוחצים על העתקה לשאילתה. אחרי כן תוכלו להריץ את השאילתה או לשנות אותה.
כדי לשאול שאלת המשך, לוחצים על שאל שאלת המשך. כך נפתח קנבס נתונים בלי שם, שבו אפשר להתכתב בצ'אט עם Gemini כדי לבדוק את הנתונים.
ניהול תובנות שנוצרו על ידי AI
אחרי שמפיקים תובנות ממערך נתונים, אפשר לנהל, לעדכן או למחוק אותן ב-Knowledge Catalog. מידע נוסף מופיע במאמר בנושא ניהול תובנות לגבי מערכי נתונים.
המאמרים הבאים
- מידע נוסף על תובנות מנתונים
- איך יוצרים תובנות לגבי טבלאות
- מידע נוסף על פרופילים של נתונים ב-Knowledge Catalog