במדריך הזה מוסבר איך להפעיל את התכונה 'גילוי' ב-Dataplex Universal Catalog ואיך להשתמש בה. סריקות לגילוי נתונים מחלצות מטא-נתונים מנתונים באגם נתונים (data lake) ורושמות אותם ב-Dataproc Metastore, ב-BigQuery וב-Data Catalog (יצא משימוש) לצורך ניתוח, חיפוש ובדיקה.
טבלאות חיצוניות ב-BigQuery שמתפרסמות על ידי Discovery ייכללו ב-Dataplex Universal Catalog כרשומות.
סקירה כללית
לכל נכס ב-Dataplex Universal Catalog שהתכונה 'גילוי' מופעלת בו, מתבצעות הפעולות הבאות:
- סריקה של הנתונים שמשויכים לנכס.
- מקבץ קבצים מובנים וקבצים חצי מובנים לטבלאות.
- איסוף מטא-נתונים טכניים, כמו שם הטבלה, הסכימה והגדרת החלוקה למחיצות.
במקרה של נתונים לא מובְנים, כמו תמונות וסרטונים, התכונה 'גילוי קטלוג אוניברסלי' של Dataplex מזהה באופן אוטומטי קבוצות של קבצים שמשתפים את אותו סוג מדיה ורושמת אותם כקבוצות קבצים. לדוגמה, אם gs://images/group1 מכיל תמונות GIF ו-gs://images/group2 מכיל תמונות JPEG, מערכת Dataplex Universal Catalog Discovery מזהה ורושמת שני קבצים. במקרה של נתונים מובנים, כמו Avro, מערכת Discovery מזהה קבצים רק אם הם נמצאים בתיקיות שמכילות את אותו פורמט נתונים ואת אותה סכמה.
הטבלאות וקבוצות הקבצים שמתגלים נרשמים ב-Data Catalog לצורך חיפוש וגילוי. הטבלאות מופיעות ב-Dataproc Metastore כטבלאות בסגנון Hive, וב-BigQuery כטבלאות חיצוניות, כך שהנתונים זמינים אוטומטית לניתוח.
מודעות Discovery תומכות בפורמטים הבאים של נתונים מובְנים ונתונים חצי מובְנים:
- Parquet
- Avro
- ORC
- JSON (רק הפורמט שמופרד בתו שורה חדשה)
- CSV (לא ניתן להעלות קובצי CSV עם שורות הערות)
Discovery תומך בפורמט הדחיסה הבא לנתונים מובְנים ולנתונים חצי-מובְנים:
דחיסה פנימית לפורמטים הבאים:
דחיסה דוגמה לסיומת קובץ פורמט נתמך gzip .gz.parquet Parquet lz4 .lz4.parquet Parquet Snappy .snappy.parquet Parquet, ORC, Avro lzo .lzo.parquet Parquet, ORC דחיסה חיצונית של קובצי JSON ו-CSV:
- gzip
- bzip2
הגדרות של Discovery
האפשרות 'גילוי' מופעלת כברירת מחדל כשיוצרים אזור או נכס חדשים. אפשר להשבית את התכונה 'גילוי' ברמת האזור או ברמת הנכס.
כשיוצרים אזור או נכס, אפשר לבחור להעביר בירושה את הגדרות הגילוי ברמת האזור, או לבטל את הגדרות הגילוי ברמת הנכס.
אלה אפשרויות ההגדרה של Discovery שזמינות ברמת האזור והנכס:
חיפוש רחב מופעל ומושבת
Discovery schedule: אפשר להגדיר את האפשרות הזו ללוח זמנים מוגדר מראש – לדוגמה, שעתי או יומי, או ללוח זמנים מותאם אישית שמוגדר בפורמט cron. נכסים חדשים נסרקים כשהם מתווספים. מידע נוסף זמין במאמר בנושא הגדרת תזמונים של cron. אפשר להגדיר את לוח הזמנים של גילוי המשאבים לפרק זמן של 60 דקות עד 31 ימים.
הכללה או החרגה של תבנית: הגדרה של הקבצים שיוכללו או יוחרגו מסריקות של Discovery, באמצעות תבניות glob בנתיב ההכללה או ההחרגה. לדוגמה, אם רוצים להחריג את
gs://test_bucket/foo/..מהגילוי, מזינים את**/foo/*כנתיב להחרגה. מירכאות גורמות לשגיאות. חשוב להקפיד להזין**/foo/*במקום"**/foo/*".) הפונקציה הזו זמינה רק לנכסי Cloud Storage. אם יש גם דפוסי הכללה וגם דפוסי החרגה, קודם יחולו דפוסי ההחרגה.מפרטים של JSON או CSV: מאפשרים לספק מידע נוסף על נתונים חצי-מובנים, כמו CSV ו-JSON, כדי לשפר את הדיוק של תוצאות החיפוש ב-Discovery.
אם אתם מעלים קובצי CSV, אתם יכולים לספק כל אחד מהפרטים הבאים:
תו מפריד: בשדה הזה אפשר להזין תו אחד, למעט
\rו-\n. אם מציינים יותר מתו אחד, המערכת משתמשת רק בתו הראשון במחרוזת. אם לא מציינים תו מפריד, Discovery משתמש בפסיק כתו מפריד.מספר שורות הכותרת: בשדה הזה אפשר להזין את הערך
0או1. ערך ברירת המחדל הוא0. כשהערך הוא0, Discovery מבצעת היסק של כותרות, ואם מזוהה כותרת, Discovery מחלצת את שמות העמודות מהכותרת ומאפסת את הערך ל-1.קידוד: בשדה הזה אפשר להזין שמות של קידוד מחרוזות, כמו
UTF-8, US-ASCIIאוISO-8859-1. אם לא מציינים כלום,UTF-8משמש כברירת המחדל.השבתת הסקת סוגים: בשדה הזה אפשר להזין ערך בוליאני. ההגדרה שלו היא
falseכברירת מחדל. בנתוני CSV, אם משביתים את הסקת הסוג, כל העמודות נרשמות כמחרוזות.
עבור קובצי JSON, אפשר לספק כל אחד מהפריטים הבאים:
קידוד: בשדה הזה אפשר להזין שמות של קידוד מחרוזות, כמו
UTF-8, US-ASCIIאוISO-8859-1. אם לא מציינים כלום, המערכת משתמשת ב-UTF-8כברירת מחדל.השבתת הסקת סוג הנתונים: בשדה הזה אפשר להזין ערך בוליאני. ההגדרה שלו היא
falseכברירת מחדל. בנתוני JSON, אם משביתים את הסקת הסוג, כל העמודות נרשמות כסוגים הפרימיטיביים שלהן (מחרוזת, מספר או בוליאני).
פרסום מטא-נתונים
כשיוצרים אזור נתונים באגם של Dataplex Universal Catalog, המערכת יוצרת מערך נתונים ב-BigQuery בפרויקט שמכיל את האגם. Dataplex Universal Catalog מפרסם טבלאות במערך הנתונים הזה עבור טבלאות שהתגלו בקטגוריות של Cloud Storage שנוספו לאזור הנתונים כנכסים. מערך הנתונים נקרא מערך נתונים של פרסום מטא-נתונים שמתאים לאזור.
כל אזור נתונים ב-Dataplex Universal Catalog ממופה למערך נתונים ב-BigQuery או למסד נתונים ב-Dataproc Metastore, שבהם מידע המטא-נתונים זמין באופן אוטומטי.
אתם יכולים לערוך מטא-נתונים שזוהו אוטומטית, כמו שם הטבלה או הסכימה, באמצעות Dataplex API.
הצגת טבלאות וקבוצות קבצים שזוהו
אפשר לחפש טבלאות וקבוצות קבצים שנמצאו בתצוגה חיפוש ב-Dataplex Universal Catalog במסוף Google Cloud .
כדי לקבל תוצאות חיפוש מדויקות יותר, אפשר להשתמש במסננים ספציפיים לקטלוג האוניברסלי של Dataplex, כמו שמות של אגמים ואזורי נתונים. ברשימת המסננים מוצגים 50 הפריטים המובילים בכל היבט. אפשר לחפש פריטים נוספים באמצעות תיבת החיפוש.
כל רשומה מכילה מטא-נתונים טכניים ותפעוליים מפורטים.
בדף הפרטים של הרשומה, אפשר להריץ שאילתה על הטבלה ב-BigQuery ולראות את פרטי הרישום התואמים ב-Dataproc Metastore.
אם אפשר לפרסם טבלה ב-Cloud Storage ב-BigQuery כטבלה חיצונית, הפרטים הבאים יופיעו בתצוגת הפרטים של הרשומה שלה:
- הפניות לטבלאות חיצוניות ב-BigQuery
- לחצן Open in BigQuery (פתיחה ב-BigQuery) כדי להתחיל לנתח את הנתונים ב-BigQuery
רשומות המטא-נתונים של Dataplex Universal Catalog גלויות ישירות וניתנות לחיפוש ב-Data Catalog. מידע נוסף זמין במאמר הפניה לחיפוש ב-Data Catalog.
אפשר לראות את כל הרשומות שזוהו דרך Dataplex API.
פעולות בקמפיינים מסוג Discovery
הכלי לזיהוי מקורות תנועה מעלה את הפעולות הבאות לאדמינים בכל פעם שמתגלות בעיות שקשורות לנתונים במהלך סריקות.
פורמט נתונים לא תקין
הפעולות כוללות את האפשרויות הבאות:
פורמט נתונים לא עקבי בטבלה. לדוגמה, קיימים קבצים בפורמטים שונים עם אותו קידומת טבלה.
פורמט נתונים לא תקין באזורים מנוהלים (הנתונים לא בפורמטים Avro, Parquet או ORC).
סכימה לא תואמת
הפעולות כוללות את האפשרויות הבאות:
סכימה שזוהתה על ידי Discovery לא תואמת לסכימת הטבלה הפעילה בממשק ה-API של מטא-נתונים ב-Dataproc Metastore. סכימה א' וסכימה ב' לא תואמות בתרחישים הבאים:
השדות A ו-B חולקים את אותו שם אבל הם מסוגי נתונים שונים ולא תואמים. לדוגמה, מחרוזת ומספר שלם.
אין שדות חופפים בין A ל-B.
לסכימה A ולסכימה B יש לפחות שדה אחד שלא ניתן להגדרה כ-nullable, שלא נמצא בסכימה השנייה.
שינוי בסכימה בהשוואה לסכימה שמנוהלת על ידי המשתמש בתחום לאחסון נתונים מובְנים (Curated zone).
הגדרת המחיצה לא תקינה
הפעולות כוללות את האפשרויות הבאות:
שמות לא עקביים של קטגוריות. לדוגמה,
gs://sales_data/year=2020/month=10/day=01ו-gs://sales_data/year=2020/region=us.שמות של מחיצות שלא תואמים לסגנון Hive באזור הנתונים המאורגן. לדוגמה,
gs://sales_data/2020/10/01במקוםgs://sales_data/year=2020/month=10/day=01.
חסרים נתונים
הפעולות כוללות את האפשרויות הבאות:
- באיזור הנתונים המאורגן, הנתונים הבסיסיים של טבלה רשומה או של קבוצת קבצים כבר לא קיימים. במילים אחרות, טבלה או קבוצת קבצים בתחום לאחסון נתונים מובְנים (Curated zone) התגלו ונרשמו, אבל אחר כך הנתונים הבסיסיים שלהם נמחקו. כדי לפתור את הבעיה, אפשר להוסיף נתונים או למחוק את רשומת המטא-נתונים.
פתרון בעיות שקשורות לפעולות בקמפיינים מסוג Discovery
נתונים עם פעולות נבדקים על ידי סריקות גילוי עוקבות. אחרי שהבעיה שגורמת לפעולה נפתרת, הפעולה נפתרת באופן אוטומטי בסריקת Discovery המתוזמנת הבאה.
פעולות אחרות בקמפיינים מסוג Discovery
בנוסף לפעולות הגילוי שצוינו למעלה, יש עוד שלושה סוגי פעולות שקשורות לסטטוס של משאבים ולהפצה של מדיניות אבטחה ב-Dataplex Universal Catalog.
חסר משאב: לא נמצאה קטגוריה או מערך נתונים בסיסיים שמתאימים לנכס קיים.
Unauthorized resource: ל-Dataplex Universal Catalog אין הרשאות מספיקות כדי לבצע גילוי או להחיל מדיניות אבטחה על הדלי או על מערך הנתונים שמנוהלים על ידי Dataplex Universal Catalog
בעיות בהפצה של מדיניות אבטחה: לא הייתה אפשרות להפיץ בהצלחה את מדיניות האבטחה שצוינה עבור אגם, אזור או נכס מסוים אל הדליים או מערכי הנתונים הבסיסיים. בעוד שכל הפעולות האחרות מתבצעות ברמת הנכס, הפעולה הזו יכולה להתבצע ברמת האגם, האזור והנכס.
הפעולות האלה נפתרות באופן אוטומטי כשמתקנים את הבעיות במשאב הבסיסי או בהגדרות האבטחה.
שאלות נפוצות
מה צריך לעשות אם הסכימה שהמערכת הסיקה מנתוני הגילוי שגויה?
אם הסכימה שהמערכת הסיקה שונה מהסכימה הצפויה לטבלה מסוימת, אפשר לבטל את הסכימה שהמערכת הסיקה על ידי עדכון המטא-נתונים באמצעות metadata API.
חשוב להגדיר את הערך של userManaged ל-true כדי שהעריכה לא תידרס בסריקות הבאות של Discovery.
איך מחריגים קבצים מסריקה של Discovery?
כברירת מחדל, Discovery לא סורק סוגים מסוימים של קבצים, כולל:
_SUCCESS_started_committed_metadata,_METADATA,_Metadata_common_metadata,_COMMON_METADATA- קבצים שמתחילים ב-
READMEאו ב-readme - ספריות שמתחילות ב-
base_, ב-delta_, ב-delete_delta_, ב-bucket_, ואחריהן מספר - ספריות שמתחילות ב-
.
אפשר לציין דפוסי הכללה או החרגה נוספים באמצעות הגדרת החיפוש הרחב ברמת האזור או הנכס, או באמצעות Metadata API.
מה עושים אם הקיבוץ של הטבלה שזוהה על ידי Discovery מפורט מדי?
אם הטבלאות שזוהו על ידי Discovery נמצאות ברמה מפורטת יותר בהשוואה לנתיב הבסיס של הטבלה – לדוגמה, כל מחיצה רשומה כטבלה – יכולות להיות כמה סיבות לכך:
יש הבדלים בפורמטים, כמו שילוב של קובצי Avro ו-Parquet, בנתיב הבסיס הצפוי של הטבלה, שמפצלים את הטבלה לקבוצות קטנות יותר.
יש סוגים שונים של אי-תאימות לסכימה בנתיב הבסיס של הטבלה הצפויה, שמחלקים את הטבלה לקבוצות קטנות יותר.
אפשר לפתור את הבעיה הזו באחת מהדרכים הבאות:
צריך לתקן הבדלים בפורמט או בסכימה כדי שכל הקבצים באותו נתיב בסיס של טבלה יהיו בפורמט עקבי ובסכימה תואמת.
כדי להחריג קבצים הטרוגניים, משתמשים בהגדרת דפוס ההחרגה כחלק מהגדרת האזור או הנכס או מ-API של מטא-נתונים.
אחרי שתבצעו אחת מהפעולות לתיקון, בסריקת הגילוי הבאה יקרו הדברים הבאים:
- הטבלאות הקיימות ברמה הנמוכה יותר יוסרו אוטומטית מ-Dataplex API, מ-BigQuery, מ-Dataproc Metastore ומ-Data Catalog.
- במקום זאת, נוצרת טבלה חדשה ברמה גבוהה יותר עם נתיב הבסיס הצפוי של הטבלה.
איך מציינים שמות של טבלאות?
אפשר לציין שמות של טבלאות באמצעות metadata API.
מה קורה אם יוצרים טבלאות באופן ידני ב-Dataproc Metastore או ב-BigQuery?
כשהתכונה 'גילוי' מופעלת עבור נכס מסוים, לא צריך לרשום רשומות באופן ידני ב-Dataproc Metastore או ב-BigQuery.
אפשר להגדיר באופן ידני את שם הטבלה, הסכימה והגדרות החלוקה למחיצות, וגם להשבית את התכונה 'גילוי קטלוג אוניברסלי' של Dataplex. אפשר גם:
- יצירת טבלה על ידי ציון רק המידע הנדרש, כמו נתיב הבסיס של הטבלה.
- משתמשים ב-Dataplex Universal Catalog Discovery כדי לאכלס את שאר המטא-נתונים, כמו סכימה והגדרות של מחיצות.
- חשוב לשמור על עדכניות המטא-נתונים.
מה עושים אם הטבלה לא מופיעה ב-BigQuery?
המטא-נתונים של Dataplex Universal Catalog רשומים באופן מרכזי ב-Metadata API, אבל רק טבלאות ב-Cloud Storage שתואמות ל-BigQuery מתפרסמות ב-BigQuery כטבלאות חיצוניות. במסגרת פרטי רשומת הטבלה ב-metadata API, אפשר למצוא סמן תאימות ל-BigQuery שמציין אילו ישויות מתפרסמות ב-BigQuery ומדוע.
מגבלות
- אין תמיכה בטבלאות חיצוניות, כולל טבלאות חיצוניות של BigLake, במודעות Discovery. עם זאת, טבלאות חיצוניות מוזנות אוטומטית אל Dataplex Universal Catalog, ואפשר לחפש אותן ב-Dataplex Universal Catalog במקום זאת.
תמחור
החיובים ב-Dataplex Universal Catalog על Discovery הם חלק משכבת העיבוד הרגילה. מידע נוסף זמין במאמר בנושא תמחור של עיבוד סטנדרטי ב-Dataplex Universal Catalog.