במסמך הזה מוסבר איך לבצע מיגרציה מגרסת הטרום-השקה של מילון המונחים הארגוני, שתמכה במטא-נתונים של Data Catalog, לגרסה הזמינה לכולם של מילון המונחים הארגוני, שתומכת במטא-נתונים של Dataplex Universal Catalog. תהליך המעבר כולל ייצוא של מילונים, קטגוריות, מונחים וקישורים מ-Data Catalog, ולאחר מכן ייבוא שלהם אל Dataplex Universal Catalog.
כדי לעבור למילון המונחים הארגוני ב-Dataplex Universal Catalog באופן ידני, פועלים לפי השלבים הבאים:
- ייצוא מילונים וקישורים לרשומות מ-Data Catalog.
- ייבוא מילוני מונחים, קטגוריות ומונחים אל Dataplex Universal Catalog.
- ייבוא קישורים בין מונחים אל Dataplex Universal Catalog.
- ייבוא קישורים בין מונחים ועמודות אל Dataplex Universal Catalog.
לפני שמתחילים
כדי להפעיל ייצוא ממילוני מונחים ב-Data Catalog, צריך להירשם באמצעות הטופס הזה.
מתקינים את gcloud או חבילות Python.
התפקידים הנדרשים
כדי לייצא מילון מונחים מ-Data Catalog, צריך להיות לכם תפקיד roles/datacatalog.glossaryOwner בפרויקטים שבהם מופיע מילון המונחים. ההרשאות שנדרשות לתפקיד הזה
כדי לקבל את ההרשאות שנדרשות לייבוא מילון המונחים הארגוני אל Dataplex Universal Catalog, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Dataplex Administrator (roles/dataplex.admin) בפרויקטים.
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות לייבוא מילון המונחים הארגוני אל Dataplex Universal Catalog. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לייבא מילון המונחים הארגוני אל Dataplex Universal Catalog, נדרשות ההרשאות הבאות:
-
dataplex.glossaries.importבמשאב מילון המונחים -
dataplex.entryGroups.importבקבוצת הרשומות של Dataplex Universal Catalog שצוינה בשדהentry_groupsובקבוצות הרשומות שבהן נמצאות הרשומות של Data Catalog שמקושרות למונחים במילון המונחים -
dataplex.entryGroups.useSynonymEntryLinkבקבוצת הרשומות של Dataplex Universal Catalog שצוינה בשדהentry_groupsובקבוצות הרשומות שבהן נמצאות הרשומות של Data Catalog שמקושרות למונחים במילון המונחים -
dataplex.entryGroups.useRelatedEntryLinkבקבוצת הרשומות של Dataplex Universal Catalog שצוינה בשדהentry_groupsובקבוצות הרשומות שבהן נמצאות הרשומות של Data Catalog שמקושרות למונחים במילון המונחים -
dataplex.entryLinks.referenceבכל הפרויקטים שצוינו בשדהreferenced_entry_scopes
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
ייצוא מילונים, קטגוריות ומונחים מ-Data Catalog
אפשר לייצא מילון מונחים אחד בכל פעם.
משכפלים את מאגר dataplex-labs, ואז משנים את הספריות לספריית המשנה
business-glossary-import:git clone https://github.com/GoogleCloudPlatform/dataplex-labs.git cd dataplex-labs cd dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-importמקבלים את טוקן הגישה:
export GCLOUD_ACCESS_TOKEN=$(gcloud auth print-access-token)מריצים את סקריפט הייצוא:
python3 bg_import/business_glossary_export_v2.py \ --user-project="PROJECT_ID" \ --url="DATA_CATALOG_GLOSSARY_URL"
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שמכיל את המילון. -
DATA_CATALOG_GLOSSARY_URL: כתובת ה-URL של מילון המונחים הארגוני של Data Catalog במסוף Google Cloud .
הסקריפט יוצר קובץ JSON בפורמט זהה לזה של קובץ ייבוא המטא-נתונים שמשמש למשימות ייבוא מטא-נתונים. השמות של המילון, הקטגוריות והמונחים מופיעים בפורמטים הבאים:
- מילון מונחים:
projects/PROJECT_ID/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/{PROJECT_ID{"</var>"}}/locations/LOCATION_ID/glossaries/GLOSSARY_ID - תקופה:
projects/PROJECT_ID/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_ID/locations/LOCATION_ID/glossaries/GLOSSARY_ID/terms/TERM_ID - קטגוריה:
projects/PROJECT_ID/locations/LOCATION_ID/entryGroups/@dataplex/entries/projects/PROJECT_ID/locations/LOCATION_ID/glossaries/GLOSSARY_ID/categories/CATEGORY_ID
הערכים של
GLOSSARY_ID, CATEGORY_ID, TERM_ID, PROJECT_IDו-LOCATION_IDזהים לערכים ממילון המונחים של קטלוג הנתונים.-
תוצאות
הרשימה הבאה מתארת דברים שכדאי לשים לב אליהם בתוצאות:
המילונים, הקטגוריות והמונחים שלהם מיוצאים למיקום גלובלי, כך שאפשר לקשר את המונחים לרשומה בכל אזור.
הקבצים המיוצאים נמצאים בתיקייה
Exported_Filesב-dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import. שם הקובץ הואglossary_GLOSSARY_ID.json.פקודת הייצוא יוצרת אוטומטית את המילון ב-Dataplex Universal Catalog עם אותם GLOSSARY_ID ו
PROJECT_IDבמיקום הגלובלי.הסקריפט יוצר קובץ JSON שמכיל את המילים הנרדפות ואת הקישורים שקשורים בין המונחים. הקבצים המיוצאים נמצאים בתיקייה Exported_Files ב-
dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import. שם הקובץ הואentrylinks_related_synonym_GLOSSARY_ID.json.הקישורים המיוצאים נמצאים בתיקייה
Exported_Filesב-dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import.המונחים במילון המונחים יכולים להיות מקושרים להרבה רשומות בהרבה קבוצות של רשומות. כשמייצאים קישורים בין מונחים ועמודות, נוצר קובץ לכל
entryGroup. הפורמט של שם הקובץ הוא:entrylinks_definition_export_GLOSSARY_ID_ENTRY_PROJECT_ID_ENTRY_LOCATION_ID_ENTRY_GROUP_ID.json.מזהה המילון המונחים שצריך לייבא מילוני מונחים, קטגוריות ומונחים מופיע אחרי הפעלת סקריפט הייצוא.
ייבוא מילונים, קטגוריות ומונחים
צריך לייבא את מילוני המונחים, הקטגוריות והמונחים של Dataplex Universal Catalog שיוצאו בשלב הקודם. בקטע הזה מוסבר איך לייבא באמצעות metadata job API.
יוצרים קטגוריה של Cloud Storage ואז מעלים את הקובץ לקטגוריה.
נותנים לחשבון השירות של Dataplex Universal Catalog הרשאת קריאה לקטגוריה של Cloud Storage.
מריצים משימה לייבוא מטא-נתונים כדי לייבא את המילון.
# Set GCURL alias alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
# Import CURL Command gcurl "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/global/metadataJobs\?metadata_job_id=JOB_ID" -X POST -H "Content-Type: application/json" -d "$(cat<<EOF { "type":"IMPORT", "import_spec":{ "log_level": "DEBUG", "source_storage_uri": "gs://STORAGE_BUCKET/", "entry_sync_mode": "FULL", "aspect_sync_mode": "INCREMENTAL", "scope": { "glossaries": ["projects/PROJECT_ID/locations/global/glossaries/GLOSSARY_ID"] } } } EOF )"
מחליפים את מה שכתוב בשדות הבאים:
-
JOB_ID: (אופציונלי) מזהה של משימת ייבוא מטא-נתונים, שאפשר להשתמש בו כדי לעקוב אחרי סטטוס המשימה. אם לא מספקים מזהה, הפקודה gcurl יוצרת מזהה ייחודי. -
STORAGE_BUCKET: ה-URI של ה-bucket או התיקייה ב-Cloud Storage שמכילים את קובץ המילון המונחים המיוצא. -
PROJECT_ID: מספר הפרויקט שמכיל את המילון.
-
אופציונלי: כדי לעקוב אחרי הסטטוס של משימת ייבוא המטא-נתונים, משתמשים בשיטת
metadataJobs.get:gcurl -X GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/global/metadataJobs/JOB_ID
אם יתקבלו שגיאות בעבודת הייבוא של המטא-נתונים, הן יופיעו ביומנים.
ייבוא קישורים בין מונחים אל Dataplex Universal Catalog
צריך לייבא קישורים בין מונחים שיוצאו בשלב הקודם. בקטע הזה מוסבר איך לייבא באמצעות metadata job API.
יוצרים קטגוריה של Cloud Storage, ואז מעלים אליה את קובץ הקישורים של הרשומות שייצאתם בשלב הקודם.
נותנים לחשבון השירות של Dataplex Universal Catalog הרשאת קריאה לקטגוריה של Cloud Storage.
מריצים משימת ייבוא של מטא-נתונים כדי לייבא את הקישורים לרשומות:
# Import CURL Command gcurl "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/global/metadataJobs?metadata_job_id=JOB_ID" -X POST -H "Content-Type: application/json" -d "$(cat<<EOF { "type": "IMPORT", "import_spec": { "log_level": "DEBUG", "source_storage_uri": "gs://STORAGE_BUCKET/", "entry_sync_mode": "FULL", "aspect_sync_mode": "INCREMENTAL", "scope": { "entry_groups": ["projects/GLOSSARY_PROJECT_ID/locations/global/entryGroups/@dataplex"], "entry_link_types": [ "projects/dataplex-types/locations/global/entryLinkTypes/synonym", "projects/dataplex-types/locations/global/entryLinkTypes/related" ], "referenced_entry_scopes": ["projects/GLOSSARY_PROJECT_ID","projects/LINKED_GLOSSARY_PROJECT_ID_1","projects/LINKED_GLOSSARY_PROJECT_ID_2"] } } } EOF )"
מחליפים את מה שכתוב בשדות הבאים:
-
GLOSSARY_PROJECT_ID: המזהה של הפרויקט שמכיל את המילון - אופציונלי:
LINKED_GLOSSARY_PROJECT_ID_1: אם מונחים מקושרים בין מילונים בפרויקטים שונים, צריך לציין את מזהה הפרויקט - אופציונלי:
LINKED_GLOSSARY_PROJECT_ID_2: אם מונחים מקושרים בין מילונים בפרויקטים שונים, צריך לציין את מזהה הפרויקט
שימו לב לנקודות הבאות:
- האובייקט
entry_groupsמכיל את קבוצת הרשומות שבה נוצרים קישורי הרשומות. זוהי קבוצת הערכים של המערכת@dataplexבאותו פרויקט ובאותו מיקום כמו המילון. האובייקט
entry_link_typesמאפשר לייבא מילים נרדפות, מונחים קשורים או את שניהם:- מילים נרדפות:
projects/dataplex-types/locations/global/entryLinkTypes/synonym - מונחים קשורים:
projects/dataplex-types/locations/global/entryLinkTypes/related
- מילים נרדפות:
אובייקט
referenced_entry_scopesכולל את מזהי הפרויקט של קישורי הכניסה שמקשרים בין מונחים ממילונים שונים.
-
ייבוא קישורים בין מונחים ועמודות
צריך לייבא קישורים בין מונחים ועמודות שיוצאו בשלב הקודם. בקטע הזה מוסבר איך לייבא באמצעות metadata job API.
מעלים כל קובץ שיוצא בשלב הקודם אל קטגוריה של Cloud Storage.
מריצים פקודת ייבוא נפרדת לכל קובץ שהועלה לקטגוריה של Cloud Storage. כל קובץ תואם לקבוצת רשומות ייחודית שמכילה קישורים בין מונחים ועמודות של אותה קבוצת רשומות.
gcurl "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/ENTRY_GROUP_LOCATION_ID/metadataJobs?metadata_job_id=JOB_ID" -X POST -H "Content-Type: application/json" -d "$(cat<<EOF { "type": "IMPORT", "import_spec": { "log_level": "DEBUG", "source_storage_uri": "gs://STORAGE_BUCKET/", "entry_sync_mode": "FULL", "aspect_sync_mode": "INCREMENTAL", "scope": { "entry_groups": ["projects/ENTRY_GROUP_PROJECT_ID/locations/ENTRY_GROUP_LOCATION_ID/entryGroups/ENTRY_GROUP_ID"], "entry_link_types": ["projects/dataplex-types/locations/global/entryLinkTypes/definition"], "referenced_entry_scopes": ["projects/ENTRY_GROUP_PROJECT_ID", "projects/GLOSSARY_PROJECT_ID"] } } } EOF )"