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

בדף הזה מוסבר איך להגדיר את Datastream לשכפול לטבלאות Apache Iceberg ב-BigQuery.

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

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

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

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

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

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

כדי להגדיר את הזרם כך שיטמיע נתונים בטבלאות 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 זמין במאמר יצירת מקור נתונים.

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

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