שימוש ב-Apache Spark עם קטלוג זמן הריצה של Lakehouse

‫Apache Spark מתחבר ל-Lakehouse ללא גבולות דרך הקטלוג הייעודי לזמן ריצה של Lakehouse. השילוב הזה משתמש בנקודת הקצה של קטלוג REST של Apache Iceberg כדי לספק ממשק סטנדרטי לזיהוי ולניהול של טבלאות Apache Iceberg.

כדי להתחיל, אפשר לעיין במדריכים הבאים:

מאפייני ההגדרות של Spark

כדי להתחבר לנקודת הקצה של קטלוג REST של Apache Iceberg, מגדירים את המאפיינים הבאים בסשן של Spark או בשליחת המשימה:

מאפיין (property) ערך תיאור
spark.sql.catalog.CATALOG_NAME org.apache.iceberg.spark.SparkCatalog רושם את ההטמעה של קטלוג Apache Iceberg Spark.
spark.sql.catalog.CATALOG_NAME.type rest מציין את סוג הקטלוג של REST.
spark.sql.catalog.CATALOG_NAME.uri https://biglake.googleapis.com/iceberg/v1/restcatalog מציין את ה-URI של נקודת הקצה של קטלוג REST של Apache Iceberg בקטלוג הייעודי לזמן ריצה של Lakehouse. כדי לנתב בקשות לנקודת קצה אזורית, משתמשים ב-https://biglake.LOCATION.rep.googleapis.com/iceberg/v1/restcatalog.
spark.sql.catalog.CATALOG_NAME.warehouse bl://projects/PROJECT_ID/catalogs/CATALOG_ID מציין את הנתיב למחסן הנתונים של קטלוג עם כמה קטגוריות בקטלוג הייעודי לזמן ריצה של Lakehouse. בקטלוג עם קטגוריה אחת, משתמשים ב-gs://CLOUD_STORAGE_BUCKET_NAME.
spark.sql.catalog.CATALOG_NAME.header.x-goog-user-project PROJECT_ID מציין את מזהה הפרויקט ב- Google Cloud לחיוב ולמכסות בבקשות לקטלוג ייעודי לזמן ריצה של Lakehouse.
spark.sql.catalog.CATALOG_NAME.rest.auth.type org.apache.iceberg.gcp.auth.GoogleAuthManager מגדיר את האימות של Google Cloud לנקודת הקצה של קטלוג REST של Apache Iceberg.
spark.sql.catalog.CATALOG_NAME.io-impl org.apache.iceberg.gcp.gcs.GCSFileIO מציינת את ההטמעה של FileIO ב-Cloud Storage בשביל Apache Iceberg. חובה כשמשתמשים במצב של הפצת פרטי כניסה.
spark.sql.catalog.CATALOG_NAME.header.X-Iceberg-Access-Delegation vended-credentials שליחת בקשה לפרטי כניסה לטווח קצר עם היקף מצומצם לאחסון מהקטלוג הייעודי לזמן ריצה של Lakehouse, בזמן טעינת הטבלה כשמשתמשים במצב הנפקת פרטי כניסה.
spark.sql.extensions org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions הפעלת תוספי SQL ואופטימיזציות של Apache Iceberg ב-Spark.
spark.sql.defaultCatalog CATALOG_NAME אופציונלי: הגדרת הקטלוג שמשמש כברירת מחדל לסשן Spark.

מחליפים את מה שכתוב בשדות הבאים:

  • ‫CATALOG_NAME: מזהה שם הקטלוג שהוגדר בסשן Spark (לדוגמה, my_catalog).

  • ‫LOCATION: האזור ב- Google Cloud שבו נמצא הקטלוג, כשמשתמשים בנקודת קצה אזורית (לדוגמה, us-central1).

  • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud .

  • ‫CATALOG_ID: המזהה של הקטלוג בקטלוג הייעודי לזמן ריצה של Lakehouse.

  • ‫CLOUD_STORAGE_BUCKET_NAME: השם של הקטגוריה ב-Cloud Storage שמשויכת לקטלוג של קטגוריה אחת.

פרטים נוספים על ההגדרה זמינים במאמר הגדרת אפליקציית לקוח ובמסמכי התיעוד הרשמיים של Apache Iceberg Spark.