יצירת מרחב שמות בקטלוג (כמו קטלוג REST של Apache Iceberg או קטלוג Apache Hive) עוזרת לארגן את הטבלאות בתוך קטלוג זמן הריצה של Lakehouse.
לפני שמתחילים
-
מפעילים את BigLake API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירת מרחב שמות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
-
הכול:
- אדמין ב-BigLake (
roles/biglake.admin) - אדמין באחסון (
roles/storage.admin)
- אדמין ב-BigLake (
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת מרחב שמות
יצירת מרחב שמות בקטלוג.
לתשומת ליבכם
כשיוצרים מרחב שמות, אפשר לציין קטגוריה של Cloud Storage או נתיב לקטגוריה כדי לשייך אותם למרחב השמות:
- קטלוגים של BigLake: אפשר להגדיר כל מיקום מותאם אישית, כל עוד הוא נמצא במיקום שמותר על ידי הקטלוג (
default_locationאוrestricted_locations). אם לא מציינים מיקום, מרחב השמות נוצר במיקום ברירת המחדל של הקטלוג (לדוגמה,gs://{default_location}/{namespace_name}). קטלוגים של קטגוריות Cloud Storage: המיקום תואם לקטגוריית מחסן הנתונים.
המסוף
במסוף Google Cloud , פותחים את הדף Lakehouse.
בוחרים קטלוג קיים או יוצרים קטלוג חדש אם אין לכם קטלוג.
בסרגל התפריטים, לוחצים על + יצירת מרחב שמות.
בשדה Namespace name (שם מרחב השמות), מזינים שם ייחודי למרחב השמות.
באפשרות מיקום, אפשר לציין קטגוריה של Cloud Storage או נתיב לשיוך למרחב השמות. המיקום תואם לקטגוריית המחסן.
לוחצים על יצירה.
מרחב השמות נוצר ומופיע ברשימת הפרטים של הקטלוג.
gcloud
כדי ליצור מרחב שמות באמצעות gcloud, מריצים את הפקודה gcloud biglake iceberg namespaces create.
gcloud biglake iceberg namespaces create NAMESPACE_NAME \ --project="PROJECT_ID" \ --catalog="CATALOG_ID"
מחליפים את מה שכתוב בשדות הבאים:
-
NAMESPACE_NAME: שם למרחב השמות. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
CATALOG_ID: המזהה של הקטלוג.
REST
כדי ליצור מרחב שמות באמצעות API בארכיטקטורת REST, שולחים בקשת POST לנקודת הקצה CreateIcebergNamespace:
POST /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces
גוף הבקשה חייב להכיל מטען ייעודי (payload) תקין של Iceberg CreateNamespaceRequest בפורמט JSON, שמגדיר את מזהה מרחב השמות והמאפיינים.
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
CATALOG_ID: המזהה של הקטלוג.