פתרון בעיות שקשורות למקורות נתונים

במסמך הזה מוסבר איך לפתור את הבעיות הנפוצות ביותר שגורמות לכך שלא מוצגים תרשימי שושלת נתונים ב-Knowledge Catalog (לשעבר Dataplex Universal Catalog).

סוגי פרויקטים

נכסי נתונים יכולים להיות בפרויקטים שונים. לפניכם סיכום של פרויקטים אפשריים ושמות הנכסים שלהם.

פרויקט אחסון ב-BigQuery

בפרויקט הזה מאוחסנים נכסי הנתונים שלכם ב-BigQuery. אפשר למצוא אותו בפרטי הנכס כחלק מTable ID, לפני הנקודה הראשונה.

בממשק המשתמש של BigQuery, שם פרויקט האחסון מוצג בשדה Table ID (מזהה הטבלה), לפני הנקודה הראשונה בשם הטבלה המוגדר במלואו.
איור 1. השם של פרויקט אחסון ב-BigQuery.

פרויקט מחשוב

בפרויקט הזה נשמרים מטא-נתונים של שושלת הנתונים. ב-BigQuery, זה המקום שבו מריצים משימה. אם מריצים עבודה באמצעות מסוף Google Cloud , אפשר למצוא את שם פרויקט המחשוב בבורר הפרויקטים:

בממשק המשתמש של BigQuery מוצג פרויקט חישוב שנקרא docs-compute בדף שבו מריצים שאילתות SQL.
איור 2. השם של פרויקט מחשוב שמריץ עבודות ב-BigQuery.

כששולחים בקשות ל-BigQuery API, צריך לציין את פרויקט החישוב בכתובת ה-URL, לדוגמה:

POST /bigquery/v2/projects/docs-compute/jobs HTTP/1.1
Host: bigquery.googleapis.com
User-Agent: Go-http-client/1.1
Authorization: <REDACTED 1031 BYTES>
Accept-Encoding: gzip
{
  "configuration": {
    "query": {
      "useLegacySql": false,
      "query": "CREATE OR REPLACE TABLE `docs-target.dataset.target-002` AS SELECT * FROM `docs-source.dataset.source-002`;"
    }
  },
  "jobReference": {
    "projectId": "docs-compute",
    "jobId": "docs-compute-job-id",
    "location": "us",
  }
}

פרויקט פעיל

זה הפרויקט שממנו אתם צופים בנתוני שושלת הנתונים. במסוף Google Cloud , הפרויקט הפעיל מוצג ברשימת הפרויקטים. אם אתם משתמשים ב-API, הפרויקט הפעיל הוא הפרויקט שממנו אתם מבצעים קריאות ל-API.

בממשק המשתמש של BigQuery מוצג שושלת הנתונים של מערך נתונים בשם source-001, שנמצא בפרויקט בשם docs-source.
איור 3. הפרויקט הפעיל במסוף Google Cloud .

השיוך של נתונים ב-BigQuery לא מוצג

הבעיה הבאה מתרחשת אחרי שמריצים משימה ב-BigQuery. במקרה כזה, יכולות להיות שלוש סיבות לבעיה:

אם מופיעה ההודעה "Fetching lineage failed due to missing permissions" (אחזור שרשרת המקור נכשל בגלל הרשאות חסרות) בחלק התחתון של הדף, סימן שחסרות לכם הרשאות בפרויקט הפעיל. אחרת, חסרות לכם הרשאות בפרויקט המחשוב.

תרשים ריק של שושלת נתונים.
איור 4. דוגמה לנתוני שושלת שלא מוצגים בממשק המשתמש של BigQuery.

כדי לפתור את הבעיה, צריך לבדוק אם Data Lineage API מופעל בפרויקט החישוב. אחרי שמפעילים את ה-API, צריך להריץ עבודה כדי לראות את שרשרת מקורות הנתונים. בהתאם לנפח ולמורכבות של הנתונים שעוברים עיבוד, יכולות לחלוף 30 דקות עד 24 שעות עד שיוצג מקור הנתונים.

בשלב הבא, בודקים אם Data Lineage API מופעל בפרויקט הפעיל.

כשממשק Data Lineage API מופעל, צריך להעניק את התפקיד Data Lineage Viewer ‏ (roles/datalineage.viewer) בפרויקטים הפעילים ובפרויקטים של החישוב.

מטא-נתונים של תהליך BigQuery לא מוצגים

הבעיה הבאה מתרחשת כשפותחים את חלונית הפרטים של הטבלה, שלא מציגה את כל הפרטים כמו הצהרת ה-SQL או המאפיין Process type. המצב הזה קורה גם אם שרשרת מקורות הנתונים מוצגת בצורה תקינה.

יכול להיות שהסיבה לכך היא שאין לכם הרשאות לראות את המטא-נתונים בפרויקט של Compute.

דוגמה:

כשלוחצים על פרטי התהליך של BigQuery, מוצגת ההודעה הבאה במסוף: Google Cloud

You don't have permission to view BigQuery process metadata in project X.
בממשק המשתמש של BigQuery, בכרטיסייה Lineage (מקורות נתונים), בחלונית Details (פרטים) מוצגת הודעת שגיאה.
איור 5. דוגמה לפרטי תהליך של BigQuery שלא מוצגים בממשק המשתמש של BigQuery.

כדי לפתור את הבעיה הזו, צריך להעניק למשתמש את ההרשאה bigquery.jobs.get (לדוגמה, ההרשאה הזו כלולה בתפקיד BigQuery Resource Viewer) בפרויקט Compute.

פרטי הטבלה ב-BigQuery לא מוצגים

הבעיה הבאה מתרחשת כשפותחים את חלונית פרטי הטבלה, שמוצגת בה רק המאפיין Fully qualified name. המצב הזה קורה גם אם שושלת הנתונים מוצגת בצורה תקינה. זה יכול לקרות אם אין לכם את כל ההרשאות הנדרשות בפרויקטים של אחסון בטבלה.

דוגמה:

במקרה כזה, כשלוחצים על פרטי הצומת של BigQuery, מוצגת ההודעה Entry with this fully qualified name is not available in Knowledge Catalog or you do not have permissions to view it.

פרטי הטבלה ב-BigQuery לא מוצגים.
איור 6. דוגמה לפרטי טבלה ב-BigQuery שלא מוצגים בממשק המשתמש של BigQuery.

כדי לפתור את הבעיה, צריך להעניק את ההרשאות bigquery.tables.get (לדוגמה, ההרשאות שכלולות בתפקיד BigQuery Data Viewer) בפרויקט האחסון.