אתם יכולים להשתמש בתוכנית בסיסית ליצירת משימות Dataflow כדי להוסיף קובצי Apache Parquet קיימים מאחסון מבוסס-ענן (Cloud Storage או Amazon S3) לטבלת Apache Iceberg ב-Lakehouse.
התהליך הזה משתמש בטרנספורמציה IcebergAddFiles.
אם קובצי Parquet נמצאים ב-Cloud Storage, הטרנספורמציה הזו רושמת את הקבצים ב-Lakehouse בלי להעביר או לכתוב מחדש את הנתונים הבסיסיים. אם הקבצים שלכם נמצאים במערכת אחסון חיצונית כמו Amazon S3, הם מועתקים ל-Cloud Storage כדי לאפשר שאילתות מהירות יותר דרך Lakehouse, ואז הם נרשמים.
אפשר להשתמש בפרטי החיבור הבאים כדי להוסיף קובצי Parquet מאחסון מבוסס-ענן לטבלת Apache Iceberg ב-Lakehouse.
לפני שמתחילים
מפעילים את ממשקי ה-API של Dataflow, BigQuery ו-Lakehouse.
כדי לקבל את ההרשאות שדרושות ליצירת המשאבים, צריך לבקש מהאדמין להקצות לכם את התפקידים הנדרשים בניהול הזהויות והרשאות הגישה (IAM) בפרויקט.
יוצרים קטלוג, מרחב שמות וטבלה של Lakehouse for Apache Iceberg כדי לייבא אליהם נתונים.
יוצרים קטגוריה לאחסון בענן (Cloud Storage או Amazon S3) ומעלים אליה את קובצי ה-Parquet.
אם קטגוריית האחסון מבוססת-הענן שבה אתם משתמשים היא לא Cloud Storage של Google, אתם צריכים ליצור קטגוריה של Cloud Storage כדי לאחסן את יומני השגיאות של העבודה.
תמיכה ומגבלות
יש מגבלות על ייבוא קובצי Parquet באחסון מבוסס-ענן ל-Lakehouse for Apache Iceberg באמצעות Dataflow:
- נתוני המקור צריכים להיות בפורמט Apache Parquet ומאוחסנים ב-Cloud Storage או ב-Amazon S3.
- התכונה הזו תומכת רק בצינורות להעברת נתונים באצווה.
ייבוא קובצי Parquet ל-Lakehouse
כדי לייבא קובצי Parquet מאחסון מבוסס-ענן לטבלת Iceberg ב-Lakehouse, אפשר להשתמש בממשק המשתמש של הכלי ליצירת משימות Dataflow.
נכנסים לדף Lakehouse for Apache Iceberg במסוף Google Cloud .
בוחרים את הקטלוג, מרחב השמות והטבלה שאליהם רוצים לייבא נתונים.
בדף Table details, לוחצים על Import table.
בתיבת הדו-שיח Import configuration (הגדרת ייבוא), בוחרים באפשרות Import a table from an Apache Parquet files into Lakehouse (Batch) (ייבוא טבלה מקובצי Apache Parquet אל Lakehouse (אצווה)).
ייפתח הדף Job builder של Dataflow.
בקטע מקורות:
פותחים את רשומת המקור CreateGlobalInput שכבר נוצרה.
בקטע העריכה YAML source configuration, מזינים נתיב אחד או יותר לקובצי Parquet ברצף
elements.כדי לשפר את יעילות הייבוא, כדאי לציין כמה קבוצות של קבצים (globs) כשרושמים מספר גדול של קבצים. לדוגמה:
reshuffle: true elements: - gs://BUCKET_NAME/restaurant-data/2023/*.parquet - gs://BUCKET_NAME/restaurant-data/2024/*.parquetלוחצים על סיום.
בקטע Transforms (טרנספורמציות):
לוחצים על הקטע של טרנספורמציית IcebergAddFiles כדי לפתוח אותו.
בשדה Iceberg table (טבלת Iceberg), מזינים את מרחב השמות ואת שם הטבלה. לדוגמה: NAMESPACE .TABLE_NAME .
בקטע מאפייני הקטלוג, מגדירים את הפריטים הבאים:
warehouse: המיקום של הקטלוג ב-Cloud Storage. לדוגמה,
gs://CATALOG_PATH.header.x-goog-user-project: מזהה הפרויקט ב- Google Cloud : PROJECT_ID.
לוחצים על סיום.
אם אתם מבצעים העברה מ-S3, אתם צריכים לספק הגדרות נוספות כדי להעתיק קובצי Parquet ל-Cloud Storage. הפעולה הזו לא נדרשת אם הקבצים כבר נמצאים ב-Cloud Storage.
לוחצים על הקטע של טרנספורמציית CopyFilesToGCS כדי לפתוח אותו.
מגדירים את הערך של פרמטר ההגדרה gcs_file_path כדי לציין את הקטגוריה המוגדרת במלואה של Cloud Storage שאליה רוצים להעתיק את הקבצים הזמניים. מומלץ להשתמש באותה קטגוריה של Cloud Storage שבה משתמש מחסן הנתונים של Lakehouse.
לוחצים על סיום.
1 לוחצים על הקטע Dataflow Options (אפשרויות של Dataflow) כדי לפתוח אותו.
- לוחצים על add additional pipeline options (הוספת אפשרויות נוספות של צינורות) כדי לספק ל-Apache Beam אפשרויות של צינורות שקשורות ל-S3. לדוגמה, s3_region_name, s3_access_key_id, s3_secret_access_key והערכים התואמים שלהם.
בקטע יעדים:
לוחצים על יעד Write results כדי לפתוח אותו.
בשדה JSON location (מיקום קובץ ה-JSON), מציינים את המיקום ב-Cloud Storage ואת שם הקובץ שבו ייכתבו תוצאות השגיאות. לדוגמה:
gs://BUCKET_NAME/errors/errors.jsonלוחצים על סיום.
בקטע Dataflow Options (אפשרויות של Dataflow), לוחצים על Run job (הפעלת משימה).
אם אתם צריכים להתאים אישית עוד יותר את צינור עיבוד הנתונים של Dataflow שמשמש לרישום קובצי Parquet, אתם יכולים לעשות זאת באמצעות טופס ליצירת משימות או עורך YAML.
בדיקת הפלט של המשימה
אחרי שהעבודה מסתיימת, אפשר להריץ שאילתה ב-BigQuery כדי לוודא שהנתונים נרשמו בטבלת Iceberg.
ברשימת משימות Dataflow, בודקים שהסטטוס של המשימה הוא Succeeded.
אם המשימה נכשלת או שיש בה שגיאות, אפשר לבדוק את קובץ היומן של שגיאות ה-JSON ב-Cloud Storage כדי לקבל פרטים.
במסוף Google Cloud , עוברים לדף Studio ב-BigQuery.
מזינים שאילתת SQL בעורך השאילתות כדי לבדוק את הטבלה. אפשר להשתמש במוסכמות של
PROJECT_ID.CATALOG>NAMESPACE.TABLE_NAMEכדי לשלוח שאילתות.SELECT * FROM `PROJECT_ID.CATALOG>NAMESPACE.TABLE_NAME` LIMIT 10לוחצים על הפעלה.
בודקים את תוצאות השאילתה כדי לוודא שהנתונים עובדו בצורה נכונה.
המאמרים הבאים
- מידע נוסף על קטלוג זמן הריצה של Lakehouse
- מידע נוסף זמין במאמר סקירה כללית של ממשק המשתמש של הכלי ליצירת משימות ב-Dataflow.