קריאת טבלאות מנוהלות של Apache Iceberg באמצעות Apache Spark

בקטעים הבאים מוסבר איך לקרוא טבלאות מנוהלות באמצעות טבלאות מנוהלות של Apache Iceberg (להלן טבלאות מנוהלות של Iceberg) עם Apache Spark.

לפני שמתחילים

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות לניהול טבלאות בפרויקט באמצעות BigQuery, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

התפקידים המוגדרים מראש האלה מכילים את ההרשאות שנדרשות כדי לאפשר ל-BigQuery לנהל טבלאות בפרויקט. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי לאפשר ל-BigQuery לנהל טבלאות בפרויקט שלכם, נדרשות ההרשאות הבאות:

  • bigquery.connections.delegate בפרויקט
  • bigquery.jobs.create בפרויקט
  • bigquery.readsessions.create בפרויקט
  • bigquery.tables.get בפרויקט
  • bigquery.tables.getData בפרויקט
  • storage.buckets.get בקטגוריה שלכם
  • storage.objects.create בקטגוריה שלכם
  • storage.objects.delete בקטגוריה שלכם
  • storage.objects.get בקטגוריה שלכם
  • storage.objects.list בקטגוריה שלכם

יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

קריאת טבלאות מנוהלות של Iceberg באמצעות Apache Spark

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

spark-sql \
  --packages org.apache.iceberg:iceberg-spark-runtime-ICEBERG_VERSION_NUMBER \
  --conf spark.sql.catalog.CATALOG_NAME=org.apache.iceberg.spark.SparkCatalog \
  --conf spark.sql.catalog.CATALOG_NAME.type=hadoop \
  --conf spark.sql.catalog.CATALOG_NAME.warehouse='BUCKET_PATH' \

# Query the table
SELECT * FROM CATALOG_NAME.FOLDER_NAME;

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

  • ICEBERG_VERSION_NUMBER: הגרסה הנוכחית של זמן הריצה של Apache Spark Iceberg. מורידים את הגרסה העדכנית ביותר מSpark Releases.
  • CATALOG_NAME: הקטלוג שאליו מתייחסים בטבלה המנוהלת של Iceberg.
  • BUCKET_PATH: הנתיב לדלי שמכיל את קובצי הטבלה. לדוגמה, gs://mybucket/.
  • FOLDER_NAME: התיקייה שמכילה את קובצי הטבלה. לדוגמה, myfolder.

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