הוספת נתונים מצרפת רשומות חדשות וקובצי נתונים לטבלת Apache Iceberg.
פעולות הכתיבה נשארות מוגבלות למנוע הספציפי (כמו Spark או Trino) שיצר את הטבלה במקור, כדי להבטיח עקביות של המטא-נתונים בקטלוג של Lakehouse בזמן ריצה.
לפני שמתחילים
בסקירה הכללית של הטבלה מוסבר על הסוגים השונים של הטבלאות ועל ההשלכות של השימוש בהן.
יש תמיכה רק בטבלאות Apache Iceberg V2 (זמינות כללית) ו-V3 (גרסת Preview). אין תמיכה בטבלאות Iceberg V1. כדי לשדרג טבלאות קיימות בגרסה 1, אפשר לעיין במאמר שדרוג טבלאות Iceberg מגרסה 1 לגרסה 2.
-
מפעילים את BigLake API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להוספת נתונים לטבלה, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט ובקטגוריית האחסון:
-
כתיבת נתוני טבלה במצב של מכירת אישורים:
BigLake Editor (
roles/biglake.editor) – הפרויקט -
כתיבת נתוני טבלה במצב של מכירת כרטיסים ללא פרטי כניסה:
- BigLake Editor (
roles/biglake.editor) – הפרויקט - משתמש באובייקטים באחסון (
roles/storage.objectUser) – קטגוריה של Cloud Storage
- BigLake Editor (
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הוספת נתונים לטבלה
מזינים נתונים לדוגמה בטבלה:
Spark
spark.sql("INSERT INTO TABLE_NAME VALUES (1, \"first row\"), (2, \"second row\"), (3, \"third row\");")
Trino
INSERT INTO TABLE_NAME VALUES (1, 'first row'), (2, 'second row'), (3, 'third row');