כדי לקרוא אירועים של סימון נתונים שהשתנו (CDC) מ-Apache Iceberg באמצעות קטלוג BigLake REST, משתמשים במחבר מנוהל של קלט/פלט ב-Apache Beam.
שירות מנוהל לקלט/פלט תומך ביכולות הבאות של Apache Iceberg:
| קטלוגים |
|
|---|---|
| יכולות קריאה | קריאה באצווה |
| יכולות כתיבה |
|
בטבלאות BigQuery ל-Apache Iceberg, משתמשים במחבר BigQueryIO עם BigQuery Storage API. הטבלה צריכה כבר להיות קיימת. יצירת טבלה דינמית לא נתמכת.
מגבלות
- יש תמיכה ב-Apache Iceberg CDC רק באמצעות Managed API. התכונות של שירות השינויים המנוהלים עדיין לא הופעלו. צפויים שינויים שישפיעו על תאימות לאחור
- CDC Managed API קורא רק תמונות מצב של נתונים שניתן להוסיף להם נתונים. עדיין לא ניתן להשתמש ב-CDC מלא.
דרישות מוקדמות
- מגדירים את BigLake. כדי להגדיר את ההרשאות הנדרשות בפרויקט שלכם ב-Google Cloud Platform, פועלים לפי ההוראות במאמר שימוש ב-BigLake Metastore עם קטלוג Iceberg REST. חשוב לוודא שאתם מבינים את המגבלות של קטלוג BigLake Iceberg REST שמתואר בדף הזה.
- יוצרים טבלת Iceberg של מקור. בדוגמה שמוצגת כאן מניחים שיש לכם טבלת Apache Iceberg. כדי ליצור צינור כזה, אפשר להשתמש בצינור שמוצג במאמר כתיבת נתונים בסטרימינג ל-Apache Iceberg באמצעות קטלוג BigLake REST.
תלויות
מוסיפים את יחסי התלות הבאים לפרויקט:
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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.