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

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

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

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

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

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

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

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