מחבר ה-I/O המנוהל של Apache Beam מאפשר לכם להטמיע רשומות של לכידת נתונים לשינוי (CDC) בסטרימינג מטבלאות של Apache Iceberg דרך קטלוג REST של Lakehouse. השילוב הזה מעבד עדכונים רציפים ישירות בצינורות העיבוד של הנתונים שלכם.
Managed I/O לא תומך בשדרוגים אוטומטיים של צינורות נתונים עבור Apache Iceberg CDC. בנוסף, הטרנספורמציה מעבדת רק תמונות מצב שאפשר להוסיף להן נתונים. עדיין אין תמיכה בשינויים מלאים ב-CDC. למידע על קריאות או כתיבות רגילות של נתונים בכמות גדולה בסוגים אחרים של קטלוגים, אפשר לעיין במאמר בנושא ניהול קלט/פלט.
יכולות
שירות ה-I/O המנוהל תומך ביכולות הבאות של Apache Iceberg:
| קטלוגים |
|
|---|---|
| קריאת היכולות | קריאה באצווה |
| יכולות כתיבה |
|
כדי להשתמש בטבלאות BigQuery ל-Apache Iceberg, צריך להשתמש במחבר BigQueryIO עם BigQuery Storage API. הטבלה חייבת להיות קיימת; יצירת טבלה דינמית לא אפשרית.
מגבלות
- יש תמיכה ב-Apache Iceberg CDC רק באמצעות Managed API. התכונות של שירות ההמרות המנוהלות עדיין לא מופעלות. צפויים שינויים שישפיעו על תאימות לדורות קודמים
- ה-API המנוהל של CDC קורא רק תמונות מצב שאפשר להוסיף להן נתונים. עדיין אין אפשרות להשתמש ב-CDC מלא.
דרישות מוקדמות
- הגדרת Lakehouse מגדירים את הפרויקט Google Cloud עם ההרשאות הנדרשות לפי ההוראות במאמר שימוש בקטלוג ייעודי לזמן ריצה של Lakehouse עם קטלוג REST של Iceberg. חשוב לוודא שאתם מבינים את המגבלות של Lakehouse Iceberg REST Catalog שמתוארות בדף הזה.
- יוצרים טבלת Iceberg של מקור. בדוגמה שמוצגת כאן מניחים שיש לכם טבלת Apache Iceberg. כדי ליצור צינור כזה, אפשר להשתמש בצינור שמוצג במאמר Streaming Write to Apache Iceberg with Lakehouse REST Catalog.
פניות קשורות
מוסיפים את יחסי התלות הבאים לפרויקט:
Java
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-managed</artifactId>
<version>${beam.version}</version>
</dependency>
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-io-iceberg</artifactId>
<version>${beam.version}</version>
</dependency>
<dependency>
<groupId>org.apache.iceberg</groupId>
<artifactId>iceberg-gcp</artifactId>
<version>${iceberg.version}</version>
</dependency>
דוגמה
בדוגמה הבאה מוצג פייפליין זורם שקורא אירועי CDC מטבלה של Apache Iceberg, מצבר קליקים של משתמשים וכותב את התוצאות לטבלה אחרת של Apache Iceberg.
Java
כדי לבצע אימות ב-Dataflow, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.