סקירה כללית על טבלאות Apache Iceberg

טבלאות Apache Iceberg, שמנוהלות על ידי קטלוג זמן הריצה של Lakehouse ונקודת הקצה של קטלוג REST של Iceberg, הן טבלאות Iceberg פתוחות שניתנות להפעלה הדדית ועומדות בדרישות המפרט של טבלאות Apache Iceberg בקוד פתוח. אפשר לקרוא ולכתוב אותן באמצעות כל מנוע עיבוד שתואם ל-Iceberg או ל-BigQuery.

במסמך הזה, הטבלאות האלה נקראות 'טבלאות Lakehouse Iceberg' או 'טבלאות Iceberg'.

אתם יכולים להביע הסכמה ולהפעיל את היכולות הבאות על ידי הגדרת אפשרויות הטבלה:

  1. יכולת פעולה הדדית של קריאה/כתיבה (גרסת Preview): תמיכה חלקה בקריאה ובכתיבה במנועים שונים, כולל BigQuery, שירות מנוהל ל-Apache Spark, מנועים שתואמים ל-Iceberg כמו מנועים בקוד פתוח (Apache Spark,‏ Apache Flink ו-Trino) ומנועים של צד שלישי (כמו Snowflake).
  2. ניהול אוטומטי של טבלאות (גרסת Preview): ניהול אוטומטי של טבלאות (אופטימיזציה של אחסון), כמו דחיסה ואיסוף של נתונים מיותרים.

בנוסף ליכולות שצוינו למעלה, היכולות הבאות נתמכות כברירת מחדל גם בטבלאות Lakehouse Iceberg (תצוגה מקדימה).

  1. BigQuery Data definition language (שפת הגדרת נתונים) (גרסת Preview): אפשר גם ליצור או לעדכן טבלאות Iceberg באמצעות הצהרות DDL של BigQuery (לדוגמה, CREATE TABLE,‏ ALTER TABLE ו-DROP TABLE), בנוסף ליצירה או לעדכון של טבלאות באמצעות מנועים שתואמים ל-Iceberg, כמו Spark,‏ Flink ו-Trino. אחרי שהטבלאות נוצרות, אפשר לקרוא ולכתוב בהן במנועים האלה וב-BigQuery, והן חלק מאותו קטלוג ומאותו מרחב שמות, שמנוהלים על ידי קטלוג זמן הריצה של Lakehouse.
  2. תמיכה בהקצאת אישורים ל-BigQuery (גרסת Preview): ‏ BigQuery תומך בשימוש בהקצאת אישורים לאימות כשקוראים או כותבים טבלאות Iceberg בקטלוג Lakehouse Runtime. אפשר להגדיר מכירת פרטי כניסה ברמת הקטלוג.

פעולות ניהול

אתם יכולים לבצע את פעולות הניהול הבאות בטבלאות Apache Iceberg:

  • יצירת טבלה: יצירת טבלת Apache Iceberg במרחב שמות של קטלוג באמצעות Google Cloud המסוף, Spark,‏ Trino או Iceberg REST Catalog API ‏ (CreateIcebergTable).
  • רשימת טבלאות: אפשר להציג מזהי טבלאות במרחב שמות באמצעות מסוף Google Cloud ,‏ Spark,‏ Trino או Iceberg REST Catalog API‏ (ListIcebergTableIdentifiers).
  • קבלת פרטים על טבלה: בדיקת הסכימה, המאפיינים והאישורים של הטבלה באמצעות מסוף Google Cloud ,‏ Spark,‏ Trino או Iceberg REST Catalog API‏ (GetIcebergTable,‏ LoadIcebergTableCredentials).
  • הוספת נתונים: הוספת שורות נתונים לטבלאות Iceberg באמצעות Spark או Trino.
  • שאילתה של טבלה: הפעלת שאילתות על טבלאות Iceberg מ-Spark,‏ Trino או BigQuery באמצעות שמות טבלאות בני ארבעה חלקים.
  • שינוי נתונים באמצעות DML: אפשר לעדכן, למחוק או למזג שורות נתונים בטבלאות Iceberg באמצעות הצהרות DML מ-BigQuery, מ-Spark או מ-Trino.
  • שינוי טבלה: שינוי סכימת הטבלה ועדכון מאפייני המטא-נתונים באמצעות מסוף Google Cloud ,‏ Spark,‏ Trino או Iceberg REST Catalog API‏ (UpdateIcebergTable).
  • הגדרת אפשרויות של טבלה: הגדרת מאפיינים כדי להפעיל BigQuery DML וניהול אוטומטי של טבלאות.
  • ניהול רשימות ACL של טבלאות: צפייה במדיניות IAM ועדכונה בטבלאות Iceberg כדי לשלוט בגישה של גורמים ספציפיים (get-iam-policy, set-iam-policy).
  • שדרוג טבלאות Iceberg V1 ל-V2: שדרוג טבלאות Iceberg V1 קיימות לפורמט V2 הנתמך.
  • שימוש בווקטורים בינאריים למחיקה בטבלאות Iceberg V3: הפעלה של וקטורים בינאריים למחיקה כדי לשפר את ביצועי המחיקה בטבלאות Iceberg V3.
  • מחיקת טבלה: מחיקת רישום של טבלה מהקטלוג בלי למחוק את קובצי האחסון הבסיסיים באמצעות מסוף Google Cloud ,‏ Spark,‏ Trino או Iceberg REST Catalog API‏ (DeleteIcebergTable).

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