הוספת נתונים מצרפת רשומות חדשות וקובצי נתונים לטבלת Apache Iceberg.
לפני שמתחילים
-
מפעילים את BigLake API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של שימוש בשירות' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים - מגדירים את קטלוג זמן הריצה של Lakehouse עם נקודת הקצה (endpoint) של קטלוג REST של Apache Iceberg.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להוספת נתונים לטבלה, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט ובקטגוריית האחסון:
-
כתיבת נתוני טבלה במצב של מכירת אישורים:
BigLake Editor (
roles/biglake.editor) – הפרויקט -
כתיבת נתוני טבלה במצב של מכירת כרטיסים ללא פרטי כניסה:
- BigLake Editor (
roles/biglake.editor) – הפרויקט - משתמש באובייקטים באחסון (
roles/storage.objectUser) – קטגוריה של Cloud Storage
- BigLake Editor (
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יכולות ותמיכה בטבלאות
כשמשתמשים בטבלאות בקטלוג של Lakehouse runtime, כדאי להבין את סוגי הטבלאות השונים ואת האפשרויות שלהן. מידע נוסף על שימוש בטבלאות Apache Iceberg
טבלאות Iceberg נתמכות
יש תמיכה רק בטבלאות Apache Iceberg V2 (זמינות כללית) ו-V3 (גרסת Preview). אין תמיכה בטבלאות Iceberg V1. כדי לשדרג טבלאות קיימות בגרסה 1, אפשר לעיין במאמר שדרוג טבלאות Iceberg בגרסה 1 לגרסה 2.
שימוש באפשרויות של הטבלה (גרסת Preview)
אתם יכולים להגדיר מאפיינים ספציפיים של טבלאות כדי להשתמש ביכולות מנוהלות של BigQuery, כמו שפת הטיפול בנתונים (DML) ב-BigQuery וניהול אוטומטי של טבלאות. התכונות האלה מופעלות בדרכים שונות בהתאם למקום שבו הטבלה נוצרת:
- מ-BigQuery: שפת הטיפול בנתונים (DML) ב-BigQuery וניהול אוטומטי של טבלאות מופעלים כברירת מחדל.
- ממנועי קוד פתוח: כדי להצטרף, צריך להגדיר במפורש את מאפייני הטבלה. מידע נוסף מופיע במאמר הגדרת אפשרויות של טבלה.
הוספת נתונים לטבלה
מוסיפים נתונים לדוגמה לטבלה.
כדי להוסיף נתונים מ-BigQuery, צריך להפעיל את שפת הטיפול בנתונים (DML) ב-BigQuery בטבלה (gcp.biglake.bigquery-dml.enabled = true). הוראות מפורטות מופיעות במאמר הגדרת אפשרויות של טבלה.
Spark
spark.sql("INSERT INTO TABLE_NAME VALUES (1, \"first row\"), (2, \"second row\"), (3, \"third row\");")
כדי להפעיל קריאה/כתיבה של נתונים בין מערכות וניהול טבלאות (גרסת Preview), מוסיפים את המאפיינים לסעיף TBLPROPERTIES:
TBLPROPERTIES (
'gcp.biglake.bigquery-dml.enabled' = true,
'gcp.biglake.table-management.enabled' = true
)
Trino
INSERT INTO TABLE_NAME VALUES (1, 'first row'), (2, 'second row'), (3, 'third row');
כדי להפעיל יכולת פעולה הדדית של קריאה/כתיבה וניהול טבלאות (גרסת Preview), מוסיפים את המאפיינים האלה לסעיף WITH:
WITH (
"gcp.biglake.bigquery-dml.enabled" = 'true',
"gcp.biglake.table-management.enabled" = 'true'
)
BigQuery
כדי להוסיף נתונים לטבלת Apache Iceberg בקטלוג של Lakehouse runtime מ-BigQuery, צריך להפעיל את BigQuery DML בטבלה. משתמשים בהצהרת GoogleSQL INSERT
הבאה:
INSERT INTO `PROJECT_ID.CATALOG_ID.NAMESPACE.TABLE_NAME` VALUES (1, "foo");
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud. -
CATALOG_ID: מזהה קטלוג זמן הריצה של Lakehouse. -
NAMESPACE: שם מרחב השמות של Iceberg. -
TABLE_NAME: השם של טבלת Iceberg.