יצירת מרחב שמות

יצירת מרחב שמות בקטלוג (כמו קטלוג Apache Iceberg REST או קטלוג Apache Hive) עוזרת לארגן את הטבלאות בתוך קטלוג זמן הריצה של Lakehouse.

לפני שמתחילים

  1. כדי להבין איך פועל קטלוג זמן הריצה של Lakehouse ואת המגבלות של השירות, אפשר לקרוא את המאמר מידע על קטלוג זמן הריצה של Lakehouse.
  2. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.

    In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

    Enable the BigLake API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

    In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

    Enable the BigLake API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

התפקידים הנדרשים

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

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

יצירת מרחב שמות

יצירת מרחב שמות בקטלוג.

לתשומת ליבכם

כשיוצרים מרחב שמות, אפשר לציין קטגוריה של Cloud Storage או נתיב לשיוך למרחב השמות:

  • קטלוג עם כמה מאגרי מידע (bl://) (מומלץ): אפשר להגדיר כל מיקום מותאם אישית, כל עוד הוא נמצא במיקום שמותר על ידי הקטלוג (default_location או restricted_locations). אם לא מציינים מיקום, מרחב השמות נוצר במיקום ברירת המחדל של הקטלוג (לדוגמה, gs://{default_location}/{namespace_name}).
  • קטלוג של קטגוריה אחת (gs://): מיקום מרחב השמות עובר בירושה באופן אוטומטי מהקטגוריה היחידה של הקטלוג.

המסוף

  1. במסוף Google Cloud , פותחים את הדף Lakehouse.

    מעבר אל Lakehouse

  2. בוחרים קטלוג קיים או יוצרים קטלוג חדש אם אין לכם קטלוג.

  3. בסרגל התפריטים, לוחצים על + יצירת מרחב שמות.

  4. בשדה Namespace name (שם מרחב השמות), מזינים שם ייחודי למרחב השמות.

  5. באפשרות מיקום, אפשר לציין קטגוריה של Cloud Storage או נתיב לשיוך למרחב השמות. המיקום תואם לקטגוריית המחסן.

  6. לוחצים על יצירה.

    מרחב השמות נוצר ומופיע ברשימת הפרטים של הקטלוג.

gcloud

יצירת מרחב שמות בקטלוג עם כמה מאגרי מידע (bl://) (מומלץ)

כדי ליצור מרחב שמות בקטלוג של כמה קטגוריות (אפשר גם לציין מיקום מותאם אישית), מריצים את הפקודה gcloud biglake iceberg namespaces create עם הדגל --properties:

gcloud biglake iceberg namespaces create NAMESPACE_NAME \
    --project="PROJECT_ID" \
    --catalog="CATALOG_ID" \
    [--properties="location=LOCATION"]

מחליפים את מה שכתוב בשדות הבאים:

  • NAMESPACE_NAME: שם למרחב השמות.
  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • CATALOG_ID: המזהה של הקטלוג.
  • LOCATION: (אופציונלי) קטגוריה מותאמת אישית של Cloud Storage או נתיב לשיוך למרחב השמות (לדוגמה, gs://my-bucket/my-path).

יצירת מרחב שמות בקטלוג של קטגוריה אחת (gs://)

כדי ליצור מרחב שמות בקטלוג של קטגוריה אחת, משמיטים את הדגל --properties. המיקום של מרחב השמות עובר בירושה באופן אוטומטי מהקטגוריה היחידה בקטלוג.

gcloud biglake iceberg namespaces create NAMESPACE_NAME \
    --project="PROJECT_ID" \
    --catalog="CATALOG_ID"

REST

כדי ליצור מרחב שמות באמצעות API בארכיטקטורת REST, שולחים בקשת POST לנקודת הקצה CreateIcebergNamespace:

POST /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces

גוף הבקשה חייב להכיל מטען ייעודי (payload) תקין של Iceberg CreateNamespaceRequest בפורמט JSON, שמגדיר את מזהה מרחב השמות והמאפיינים:

{
  "namespace": [
    "NAMESPACE_NAME"
  ],
  "properties": {
    "location": "LOCATION"
  }
}

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • CATALOG_ID: המזהה של הקטלוג.
  • NAMESPACE_NAME: שם למרחב השמות.
  • LOCATION: (אופציונלי) קטגוריה מותאמת אישית של Cloud Storage או נתיב לשיוך למרחב השמות (לדוגמה, gs://my-bucket/my-path).

המאמרים הבאים