כששולחים שאילתה לטבלה, המערכת קוראת נתונים מקבצי Cloud Storage הבסיסיים באמצעות המטא-נתונים שמנוהלים על ידי קטלוג זמן הריצה של Lakehouse.
אפשר להפעיל שאילתות בחירה ממנועי קוד פתוח כמו Spark ו-Trino, או ישירות מ-BigQuery באמצעות שמות טבלאות שמורכבים מארבעה חלקים.
לפני שמתחילים
בסקירה הכללית של הטבלה מוסבר על הסוגים השונים של הטבלאות ועל ההשלכות של השימוש בהן.
יש תמיכה רק בטבלאות Apache Iceberg V2 (זמינות כללית) ו-V3 (גרסת Preview). אין תמיכה בטבלאות Iceberg V1. כדי לשדרג טבלאות קיימות בגרסה 1, אפשר לעיין במאמר שדרוג טבלאות Iceberg מגרסה 1 לגרסה 2.
-
מפעילים את BigLake API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לשליחת שאילתה לטבלה, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט ובקטגוריית האחסון:
-
קריאת נתוני טבלה במצב של מכירת אישורים:
BigLake Viewer (
roles/biglake.viewer) – הפרויקט -
קריאת נתוני טבלה במצב שאינו credential vending:
- בעל הרשאת צפייה ב-BigLake (
roles/biglake.viewer) – הפרויקט - צפייה באובייקטים של אחסון (
roles/storage.objectViewer) – קטגוריה של Cloud Storage
- בעל הרשאת צפייה ב-BigLake (
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הרצת שאילתות על טבלה
בוחרים את כל הנתונים מהטבלה:
Spark
spark.sql("SELECT * FROM TABLE_NAME;").show()
Trino
SELECT * FROM TABLE_NAME;
BigQuery
כדי להריץ שאילתות על טבלאות קטלוג של Lakehouse Iceberg REST מ-BigQuery, צריך להשתמש בשם הטבלה בן ארבעת החלקים בשאילתה בפורמט הבא: PROJECT_NAME.CATALOG_ID.NAMESPACE_OR_SCHEMA_NAME.TABLE_NAME.
SELECT * FROM `PROJECT_NAME.BIGLAKE_CATALOG_ID.NAMESPACE_OR_SCHEMA_NAME.TABLE_NAME`;
מחליפים את הערכים הבאים:
PROJECT_NAME:Google Cloud הפרויקט שבבעלותו הקטלוג בקטלוג של זמן הריצה של Lakehouse. החיוב על השאילתה מתבצע דרך הפרויקט שנבחר במסוף Google Cloud Google Cloud .
CATALOG_ID: המזהה של קטלוג זמן הריצה של Lakehouse שצוין כשנוצר הקטלוג. המזהה הזה משמש כשם הקטלוג בשאילתות BigQuery.המזהה הזה הוא גם השם של הקטגוריה שלכם ב-Cloud Storage.
לדוגמה, אם יצרתם קטגוריה לאחסון הקטלוג ונתתם לה את השם
iceberg-bucket, גם שם הקטלוג וגם שם הקטגוריה יהיוiceberg-bucket. הערך הזה משמש בהמשך כששולחים שאילתה לקטלוג ב-BigQuery באמצעות התחביר של P.C.N.T. לדוגמהmy-project.biglake_catalog_id.quickstart_namespace.quickstart_table.
NAMESPACE_OR_SCHEMA_NAME: מרחב השמות של הטבלה אם משתמשים ב-Spark, או שם סכימת הטבלה אם משתמשים ב-Trino.
TABLE_NAME: שם הטבלה.