הגדרת טבלאות Apache Iceberg ב-BigQuery

בעזרת Datastream אתם יכולים לשכפל נתונים מהמקורות שלכם לטבלאות Apache Iceberg ב-BigQuery. טבלאות Apache Iceberg מספקות את אותה חוויה מנוהלת כמו טבלאות ב-BigQuery, אבל הנתונים נשמרים בפורמט Parquet בקטגוריות של Cloud Storage. ההגדרה הזו מאפשרת לשלוח שאילתות ולנתח את הנתונים באמצעות BigQuery, תוך שמירה על שליטה מלאה באחסון הבסיסי.

‫Datastream תומך בסטרימינג לטבלאות Apache Iceberg רק במצב כתיבה של הוספה בלבד. מידע נוסף זמין במאמר הגדרת מצב כתיבה.

מטא-נתונים של טבלה

Datastream מוסיף עמודת STRUCT בשם datastream_metadata לכל טבלה שנכתבת ביעד ב-BigQuery.

העמודה datastream_metadata מכילה את השדות הבאים:

  • ‫UUID: השדה הזה הוא מסוג הנתונים STRING.
  • ‫SOURCE_TIMESTAMP: השדה הזה הוא מסוג הנתונים INTEGER.
  • ‫CHANGE_SEQUENCE_NUMBER: השדה הזה הוא מסוג הנתונים STRING. זהו מספר סידורי פנימי שמשמש את Datastream לכל אירוע שינוי.
  • ‫CHANGE_TYPE: השדה הזה הוא מסוג הנתונים STRING. הוא מציין את סוג אירוע השינוי. במצב כתיבה של הוספה בלבד, הערך הוא INSERT.
  • ‫SORT_KEYS: השדה הזה מכיל מערך של ערכי STRING. אתם יכולים להשתמש בערכים כדי למיין את אירועי השינויים.

הגדרת סטרימינג לטבלאות Apache Iceberg

כדי להגדיר את ה-stream להטמעת נתונים בטבלאות Apache Iceberg:

  1. יוצרים קטגוריה של Cloud Storage שבה רוצים לאחסן את הנתונים.
  2. יוצרים קישור למשאבים ב-Cloud ב-BigQuery. במאמר יצירה והגדרה של קישור למשאבים ב-Cloud מוסבר איך יוצרים קישור מהסוג הזה.
  3. משיגים את המזהה של חשבון השירות של החיבור:

    bq show --location=LOCATION --connection --project_id=PROJECT_ID
    CONNECTION_NAME
    
  4. נותנים לקישור למשאבים ב-Cloud גישה לקטגוריה של Cloud Storage שיצרתם. כדי לעשות את זה, מוסיפים את ההרשאה storage.admin ב-IAM לחשבון השירות של החיבור:

    gcloud storage buckets add-iam-policy-binding gs://YOUR_GCS_BUCKET \
    --member=serviceAccount:YOUR_SERVICE_ACCOUNT_ID \
    --role=roles/storage.admin
    
  5. יוצרים מקור נתונים של טבלאות Apache Iceberg.

    במאמר יצירת מקור נתונים מוסבר איך יוצרים מקור נתונים של טבלאות Apache Iceberg באמצעות מסוף Google Cloud .

    במאמר ניהול של מקורות נתונים באמצעות ה-API מוסבר איך יוצרים בקשה להעברת נתונים בסטרימינג לטבלאות Apache Iceberg באמצעות REST,‏ Google Cloud CLI או Terraform.

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